webPack项目优化

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

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值