vue-config.js优化

在vue-config.js中对vue项目进行优化

const path = require('path') 
const CompressionPlugin = require("compression-webpack-plugin");
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
function resolve(dir) {
  return path.join(__dirname, dir)
}

module.exports = {
    lintOnSave: false,
    productionSourceMap: false,
    outputDir:process.env.NODE_ENV === 'production'?'dist':'test',
    devServer:{
      proxy:'http://test_mms_api.dxanm.com'
    },
    configureWebpack: config => {
        config.plugins.push(new HardSourceWebpackPlugin())
        return {
          optimization: {
            minimizer: [
              new UglifyJsPlugin({
                uglifyOptions: {
                    output: {
                      comments: false, // 去掉注释
                    },
                    compress: {
                        drop_console: true, //生产环境自动删除console
                        drop_debugger: false,
                        pure_funcs: ['console.log'] //移除console
                    },
                    warnings: false,
                },
                sourceMap: false,
                parallel: true,//使用多进程并行运行来提高构建速度。默认并发运行数:os.cpus().length - 1。
            })
            ],
          }
        }
    },
    chainWebpack: config => {
      config.resolve.alias
        .set('@', resolve('src'))
        .set('assets', resolve('src/assets'))
        .set('components', resolve('src/components'))
      // 解决ie11兼容ES6
      config.entry('main').add('babel-polyfill')
      // 开启图片压缩
      config.module.rule('images')
      .test(/\.(png|jpe?g|gif|svg)(\?.*)?$/)
      .use('image-webpack-loader')
      .loader('image-webpack-loader')
      .options({ bypassOnDebug: true })
      // 开启js、css压缩
        config.plugin('compressionPlugin')
        .use(new CompressionPlugin({
          test:/\.js$|\.html$|.\css/, // 匹配文件名
          threshold: 10240, // 对超过10k的数据压缩
          deleteOriginalAssets: false // 不删除源文件
        }))
        config.externals({
          'vue':'Vue',
          // 'vue-router': 'VueRouter',
          'element-ui':'ELEMENT',
          
        })
    },
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值