解决gulp-gulify报错`warnings` is not a supported option

使用gulp 执行项目构建时遇到报错:

GulpUglifyError: unable to minify JavaScript
Caused by: DefaultsError: `warnings` is not a supported option

经查询应该是uglify-js新版本(我这装的是3.13.10)对以下gulpfile.js中的代码片段写法不支持:

            uglify({
                compress: {
                    warnings: false,
                    drop_console: true, // 过滤 console
                    drop_debugger: true, // 过滤 debugger
                },
            })

上面的这种写法在uglify-js的老版本中是可以的(我之前用的是3.4.10)

应改为:

            uglify({
                warnings: false,
                compress: {
                    drop_console: true, // 过滤 console
                    drop_debugger: true, // 过滤 debugger
                },
            })

 

报错的项目和之前正常的项目同样使用了gulp-uglify 3.0.1版,而gulp-uglify中的package.json表明其依赖:

"dependencies": {
    "gulplog": "^1.0.0",
    "has-gulplog": "^0.1.0",
    "lodash": "^4.13.1",
    "make-error-cause": "^1.1.1",
    "safe-buffer": "^5.1.2",
    "through2": "^2.0.0",
    "uglify-js": "^3.0.5",
    "vinyl-sourcemaps-apply": "^0.2.0"
  },

注意这里uglify-js的版本前面的^,表示npm install 时会安装3.x.x的最新版本。

而我安装时uglify-js最新版本是3.13.10,于是发生了上面的问题,但是我同事那边也同样的方式安装,不知道为什么他装的是3.4.10,不知道是不是npm安装有缓存的机制。

 
上一篇:错误 C4996 'xxx':This function or variable may be unsafe. Consider using xxx_s instead. To d


下一篇:python接口自动化36-忽略警告Warning