EMP v3的功能拓展。 插件执行顺序是并行、可以考虑使用 lifeCycle 进行时序设置
Vue 3.0
为例#npm add @empjs/plugin-vue3
import Vue3 from '@empjs/plugin-vue3'
import {defineConfig} from '@empjs/cli'
export default defineConfig(({mode, env}) => {
return {
plugins: [Vue3()],
appEntry: 'main.ts',
}
})
import type {GlobalStore} from '@empjs/cli'
//
export default () => {
return {
name: '@empjs/plugin-vue3',
async rsConfig(store: GlobalStore) {
const {chain} = store
// 重置chain的配置
store.merge({
experiments: {
rspackFuture: {
newTreeshaking: true,
},
},
})
// 修改chain的配置
chain.module.rule('javascript').test(/\.js$/)
// module 实例
chain.module
.rule('vue-loader')
.test(/\.vue$/)
.use('vue-loader')
.loader(require.resolve('vue-loader'))
.options({})
.end()
},
}
}