6

如何编写一个基于 vue-cli 3 插件机制的 vconsole 插件

首先,创建一个文件夹 vue-cli-plugin-vconsole,新建一个 index.js,外层结构多是固定的:

module.exports = (api, projectOptions) => {
  // ...
}

获取在 vue.config.js 中的 pluginOptions 配置信息:

const {
  vconsole
} = projectOptions.pluginOptions || {}

这里我们会用到一个 vconsolewebpack 插件: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)

dailyvuejs
1.6k 声望307 粉丝

目前专注 Vue CLI 3 源码和 vue.config.js 配置内部设计等学习分享