zoukankan      html  css  js  c++  java
  • webpack4--uglifyjs-webpack-plugin

    webpack4之前版本,压缩js代码:

    //webpack.config.js
    
    plugins:[
            new webpack.optimize.UglifyJsPlugin({
                compress:{
                    warnings:false //移除警告
                }
            }),
            new webpack.optimize.DedupePlugin({
                'process.env.NODE_ENV':'"production"'  //设置为产品上线环境,进一步压缩js代码
            })
        ]

    webpack4版本,UglifyJsPlugin 不再压缩 loaders。在未来很长一段时间里,需要通过设置 minimize:true 来压缩 loaders。参考 loader 文档里的相关选项。

    loaders 的压缩模式将在 webpack 3 或后续版本中取消。

    为了兼容旧的 loaders,loaders 可以通过插件来切换到压缩模式:

    plugins: [
    +   new webpack.LoaderOptionsPlugin({
    +     minimize: true
    +   })
      ]

    不再需要 webpack.optimize.DedupePlugin。

    1>webpack4中,webpack内置的JS压缩插件不能使用了,可以安装uglifyjs-webpack-plugin插件,使用同其他非内置插件;

    webpack.config.js:
    const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
    module.exports = {
      optimization: {
        minimizer: [
          new UglifyJsPlugin({
            test: /.js(?.*)?$/i,  //测试匹配文件,
            include: //includes/, //包含哪些文件
            excluce: //excludes/, //不包含哪些文件
    
            //允许过滤哪些块应该被uglified(默认情况下,所有块都是uglified)。 
            //返回true以uglify块,否则返回false。
            chunkFilter: (chunk) => {
                // `vendor` 模块不压缩
                if (chunk.name === 'vendor') {
                  return false;
                }
                return true;
              }
            }),
      
            cache: false,   //是否启用文件缓存,默认缓存在node_modules/.cache/uglifyjs-webpack-plugin.目录
            parallel: true,  //使用多进程并行运行来提高构建速度
        ],
      },
    };

    更多用法参考如下官方文档:
    https://www.npmjs.com/package/uglifyjs-webpack-plugin

    2> --mode production 表示生产环境,只要配置在package.json的script里面, js自动就压缩了

    //package.json
    "scripts": {
        "dev": "webpack --mode development",
        "build": "webpack --mode production"
      },
  • 相关阅读:
    oracelp---随意 记录(nvl)
    delphi小知识 点(if条件符,to_date)
    截取字符(pos,copy,Leftstr,MidStr,RightStr)以逗号为准把字符串拆分,判断字符串是否有数字、字母(大小写), 去掉字符串空格
    js HTML DOM TableRow 对象(innerHTML)
    mysql 安装相关
    初识JAVAScript
    css
    css深入
    css的学习
    前端 html
  • 原文地址:https://www.cnblogs.com/Super-scarlett/p/12331010.html
Copyright © 2011-2022 走看看