const path = require('path')
const uglifyPlugin = require('uglifyjs-webpack-plugin'); //
const isProduction = process.env.NODE_ENV === 'production';
function resolve(dir) {
return path.join(__dirname, dir)
}
module.exports = {
publicPath: './',
outputDir: 'dist',
lintOnSave: true,
devServer: {
compress: false,//开启压缩
},
css: {
extract: true,//是否使用css分离插件
sourceMap: false,//主要为方便开发人员的错误定位,为true会大大延长打包时间
loaderOptions: {
sass: {
data: `@import "@/assets/index.scss"`
}
},
module: false,
},
// webpack配置
chainWebpack: config => {
config.resolve.alias
.set("@", resolve("src"))
if (isProduction) {
config.plugins.delete('preload');
config.plugins.delete('prefetch');
config.optimization.minimize(true);
config.optimization.splitChunks({
chunks: 'all'
})
// 生产环境注入cdn
}
},
configureWebpack: config => {
if (isProduction) {
config.plugins.push(
new uglifyPlugin({
uglifyOptions: {
compress: {
drop_debugger: true,
drop_console: true,
}
},
sourceMap: false,
parallel: true,//使用多进程运行来提高构建速度
})
)
} else {
}
},
productionSourceMap: false,
parallel: require('os').cpus.length > 1
}