Packages Guide - mirror-media/mirror-media-nuxt GitHub Wiki
本頁維護此 repo 有使用到的 packages,其用法、設定與使用情境等,協助開發者快速熟悉其使用方式與使用目的。
- 顧及 package size(minified + gzipped: 6.9 KB),不以 install plugin globally 的方式載入,而以 use locally 的方式使用:
<template>
<div>
<client-only>
<infinite-loading @infinite="infiniteHandler">
<!-- provide empty slot if we want to disable load messages locally -->
<!-- see: https://peachscript.github.io/vue-infinite-loading/guide/configure-load-msg.html#via-slot-sepcial-attribute -->
<div slot="spinner" />
<div slot="no-more" />
<div slot="no-results" />
<div slot="error" />
</infinite-loading>
</client-only>
</div>
</template>
<script>
import InfiniteLoading from 'vue-infinite-loading'
export default {
components: {
InfiniteLoading,
},
methods: {
infiniteHandler() {
// do something
}
}
}
</script>
<style lang="sass" scoped></style>
WIP
WIP
WIP
- 目的:替代 component 中的 assets(如 images)。
- 使用原因:Jest 測試環境中的 Vue Single File Component 並不會過 webpack,故 assets 無法正常解析,而 assets 並不是我們在測試中會關心的部分,故使用 stub 替代掉。
// Foo.vue <template> <div> <img src="~/assets/foo.png" > </div> </template>
//__tests__/Foo.spec.js import { shallowMount } from '@vue/test-utils' import Foo from '../Foo.vue' describe('', () => { test('', () => { const wrapper = shallowMount(Foo) // throw error due to ~/assets/foo.png }) })
- 相關設定:
// jest.config.js module.exports = { transform: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'jest-transform-stub' } }