npm install @mpxjs/cli@3.x -g
v3兼容了v2的所有配置,如果没有特殊修改,则不需要进行配置迁移。
config/devServer.js
迁移到vue.config.js
下的devServer
config/mpxPlugin.conf.js
迁移到vue.config.js
下的pluginOptions.mpx.plugin
config/mpxLoader.conf.js
迁移到vue.config.js
下的pluginOptions.mpx.loader
// vue.config.js
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
pluginOptions: {
mpx: {
plugin: {
// 这里等同于`@mpxjs/webpack-plugin`的参数
srcMode: 'wx',
},
loader: {
// 这里等同于`mpx-loader`参数
}
}
},
devServer: {
// dev服务配置
}
})
// vue.config.js
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
chainWebpack(config){
config.plugin('newPlugin').use(newPlugin, [params])
// 使用mpx inspect 可以根据注释来查看插件命名
config.plugin('mpx-webpack-plugin').tap(args => newArgs)
},
// 或者也可以通过configureWebpack配置,这里返回的配置会通过webpack-merge合并到内部配置中
configureWebpack(){
return {
plugins: [
new Plugin()
]
}
}
})
v3版本相对于v2版本的目录结构更加清晰。
- 移除了
config/build
的配置目录,将其统一到了插件配置当中,可以通过vue.config.js
修改。 index.html
移动到public
目录下。- 增加
jsconfig.json
,让类型提示更加友好。
v3版本相对于v2版本的整体架构相差较大,v3版本主要基于vue-cli
架构,主要有以下优势。
v3版本的配置依靠插件化,将v2版本的文件配置整合到了各个自定义插件中。
- vue-cli-plugin-mpx-eslint eslint配置
- vue-cli-plugin-mpx-mp 小程序构建配置以及命令
- vue-cli-plugin-mpx-plugin-mode 插件配置
- vue-cli-plugin-mpx-typescript ts配置
- vue-cli-plugin-mpx-web web构建配置以及命令
除此之外,也可以使用统一的vue.config.js
来自定义配置,或者将配置抽离到插件当中,来进行统一的管理。
v3版本的模板也可以通过插件进行自定义生成,同时不依赖于github,在国内网络下不会有生成模板时网络错误的问题。
v3版本可以通过mpx inspect
来直接调试相关配置,可以更直观的发现配置错误。
使用mpx invoke
/mpx add
/mpx upgrade
来管理插件,可以更细粒度的控制相关配置的更新。
插件1.0和2.0在构建流程上做了很大的改动,所以如果需要从1.0 升级到 2.0,需要做以下改动
- npm uninstall @mpxjs/vue-cli-plugin-mpx-mp @mpxjs/vue-cli-plugin-mpx-web
- 修改
package.json
里的build:mp
为build
,serve:mp
为serve
之后正常运行命令即可