首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Uglifyjs无效选项CacheKeys和minify

Uglifyjs无效选项CacheKeys和minify
EN

Stack Overflow用户
提问于 2018-08-05 05:29:10
回答 1查看 1.9K关注 0票数 0

是否有理由使这一选项无法在UglifyJs插件中使用。我正在按照https://webpack.js.org/plugins/uglifyjs-webpack-plugin/ **跟踪文档记录。

ValidationError: UglifyJs插件无效选项 选项‘’ecma‘是无效的附加属性选项’‘cacheKeys’是无效的附加属性选项‘’minify‘是无效的附加属性

package.json

代码语言:javascript
复制
"terser": "^3.8.1",
"uglifyjs-webpack-plugin": "^1.2.7",
"webpack": "^4.16.3",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.5",
"webpack-hot-middleware": "^2.22.3"

webpack.config

代码语言:javascript
复制
minimizer: [
      new UglifyJsPlugin({
        // Uncomment lines below for cache invalidation correctly
        ecma:6,
        cache: true,
        cacheKeys:(defaultCacheKeys,file) =>{
          return Object.assign(
            {},
            defaultCacheKeys,
            { terser: require('terser/package.json').version },
          );
        },
        minify:(file, sourceMap) => {
          // https://github.com/fabiosantoscode/terser#minify-options
          const terserOptions = { parse: {
                                        // parse options
                                    },
                                    compress: {
                                        // compress options
                                        "ecma": 6
                                    },
                                    mangle: {
                                        // mangle options

                                        properties: {
                                            // mangle property options
                                        }
                                    },
                                    output: {
                                        // output options
                                    },
                                    sourceMap: {
                                        // source map options
                                    },
                                    ecma: 5, // specify one of: 5, 6, 7 or 8
                                    keep_classnames: false,
                                    keep_fnames: false,
                                    ie8: false,
                                    module: false,
                                    nameCache: null, // or specify a name cache object
                                    safari10: false,
                                    toplevel: false,
                                    warnings: false };

          if (sourceMap) {
            terserOption.sourceMap = {
              content: sourceMap,
            };
          }

          return require('terser').minify(file, terserOptions);
        }
      })
    ]
EN

回答 1

Stack Overflow用户

发布于 2018-08-07 13:27:28

new UglifyJsPlugin期待一个带有键uglifyOptions的对象,该对象在这里丢失。请按如下所示更新webpack配置。

代码语言:javascript
复制
[
  new UglifyJsPlugin({
    uglifyOptions: {
      ecma: 8,
      ...
    }
  })
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51691641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档