如何编写一个基于 vue-cli 3 插件机制的 vconsole 插件
首先,创建一个文件夹 vue-cli-plugin-vconsole
,新建一个 index.js,外层结构多是固定的:
module.exports = (api, projectOptions) => {
// ...
}
获取在 vue.config.js
中的 pluginOptions
配置信息:
const {
vconsole
} = projectOptions.pluginOptions || {}
这里我们会用到一个 vconsole
的 webpack
插件:vconsole-webpack-plugin
所以用到的是 api.configureWebpack
来扩展一下插件:
api.configureWebpack(webpackConfig ==> {
// ...
})
先加载插件
const VConsolePlugin = require('vconsole-webpack-plugin')
然后通过 webpackConfig.plugins
访问到所有插件配置,往里 push:
webpackConfig.plugins.push(new VConsolePlugin())
最里面就是设置配置项:非线上环境可以设置 enable
new VConsolePlugin(Object.assign({
enable: process.env.NODE_ENV !== 'production'
}, vconsole)