const path = require('path');
function resolve (dir) {
return path.join(__dirname, dir)
}
module.exports = {
chainWebpack: (config) => {
config.resolve.alias
.set('$css',resolve('/static/css'))
.set('$common',resolve('/components'))
.set('$api',resolve('/api'))
.set('$page',resolve('/pages'))
.set('$js',resolve('/static/js'));
}
};
module.exports = {
chainWebpack: (config) => {
config.optimization.minimizer('terser').tap((args) => {
const compress = args[0].terserOptions.compress
compress.drop_console = true
compress.pure_funcs = [
'__f__',
'console.log',
'console.info',
]
return args
})
}
};
module.exports = {
configureWebpack: {
plugins: [
new MyAwesomeWebpackPlugin()
]
}
}
module.exports = {
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
console.log("生产环境111")
} else {
console.log("开发环境222")
}
}
};
链式操作:
可以类比以前webpack设置的方式,这种写法只不过换成链式操作而已。
module.exports = {
chainWebpack: config => {
config.module
.rule('vue')
.use('vue-loader')
.loader('vue-loader')
.tap(options => {
return options
})
config.module
.rule('graphql')
.test(/.graphql$/)
.use('graphql-tag/loader')
.loader('graphql-tag/loader')
.end()
.use('other-loader')
.loader('other-loader')
.end()
}
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步