在vue.config.js下去做修改
引入功能的js文件
const BuildConfigPlugin = require('./plugins/config.js')
module下做如下配置操作
module.exports = {
chainWebpack: (config) => {
config
.when(process.env.NODE_ENV === 'development',
config => {
config.devtool('cheap-source-map')
config.plugin("buildConfig").use(BuildConfigPlugin, [
{options: true}
])
}
)
}}
BuildConfigPlugin 配置下的js代码如下
const fs = require('fs')
const path = require('path')
const file = path.join(__dirname, '../node_modules/gojs/release/go.js')
// const file = path.join(__dirname, '../src/utils/gojs.js')
function buildConfig(){
fs.readFile(file, 'utf8', function(error, data) {
if (error) throw error;
let hasMatch = false;
let content = data.replace(/[\w\W]{8}7eba17a4ca3b1a8346[\w\W]{31}/gi, function (match) {
if (match) hasMatch = true;
return 'function() {return true;}'
})
if(!hasMatch) {
content = data.replace(/[^\)^\{}]*7ca11abfd7330390[^;]*/gi, function (match) {
let arr = /\]\(([^\,]+)/.exec(match);
return arr && arr.length>=1 && arr[1];
})
}
fs.writeFile(file, content, 'utf8', (error) => {
if (error) throw error;
})
})
}
class BuildConfigPlugin {
apply(compiler) {
compiler.hooks.afterPlugins.tap(
'BuildConfigPlugin', (stats) =>{
buildConfig()
}
)
}
}
module.exports = BuildConfigPlugin
如上操作就可以去除开发环境下的gojs的水印