• 解决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安装有缓存的机制。

     
    喜欢的话,请点赞,转发、收藏、评论,谢谢!
  • 相关阅读:
    读书笔记之复盘
    读书笔记之大话设计模式
    代码重构之重命名
    代码重构之下降方法
    代码重构之提升方法
    代码重构之移动方法
    代码重构之封装集合
    JSON之实体对象转JSON字符串,字段名全部转为小写
    SQL代码之多组织数据汇总成树形表格展示
    Python socket学习笔记(三)
  • 原文地址:https://www.cnblogs.com/johnjackson/p/14984945.html
Copyright © 2020-2023  润新知