uglifyjs-folder删除console.log&来自缩小文件的警报

时间:2018-01-22 10:52:17

标签: javascript node.js windows npm uglifyjs-folder

我正在使用uglifyjs-folder npm中的package.json缩小文件夹中的多个文件,如:

"uglifyjs": "uglifyjs-folder js -eyo build/js"

它按预期工作&缩小文件夹中的所有文件。

我想删除任何 console.log & 警告虽然缩小但无法找到uglifyjs-folder https://www.npmjs.com/package/uglifyjs-folder

的任何选项

请帮忙。

2 个答案:

答案 0 :(得分:1)

简答

不幸的是,uglifyjs-folder没有提供使日志静音的选项。

解决方案

您可以考虑编写一个使用shelljs的nodejs实用程序脚本:

  • 通过uglifyjs-folder exec()方法调用shelljs命令。
  • 使用exec()方法silent选项阻止登录到控制台。

以下步骤进一步解释了如何实现这一目标:

  1. 安装

    首先,cd到您的项目目录并通过运行安装/添加shelljs

  2.     npm i -D shelljs
    
    1. 节点脚本

      创建nodejs实用程序脚本,如下所示。让我们命名文件:run-uglifyjs-silently.js

      var path = require('path');
      var shell = require('shelljs');
      
      var uglifyjsPath = path.normalize('./node_modules/.bin/uglifyjs-folder');
      
      shell.exec(uglifyjsPath + ' js -eyo build/js', { silent: true });
      

      注意:我们直接从本地uglifyjs-folder目录执行./node_modules/.bin/,并将path.normalize()用于跨平台目的。

    2. <强>的package.json

      uglifyjs内配置package.json脚本,如下所示:

      {
        ...
        "scripts": {
          "uglifyjs": "node run-uglifyjs-silently"
          ...
        },
        ...
      }
      
    3. <强>运行

      通过命令行按照正常运行脚本。例如:

      npm run uglifyjs
      

      或者,为了减少对控制台的记录,请添加npm run --silent或速记等效-s选项/标记。例如:

      npm run uglifyjs -s
      
    4. 注意:

      • 上面的示例要点假设run-uglifyjs-silently.js保存在项目目录的顶层(即package.json所在的位置)。

      • 提示: 您始终可以将run-uglifyjs-silently.js存储在项目目录顶层名为.scripts的隐藏目录中。在这种情况下,您需要在package.json中重新定义脚本,如下所示:

        {
          ...
          "scripts": {
            "uglifyjs": "node .scripts/run-uglifyjs-silently"
            ...
          },
          ...
        }
        

答案 1 :(得分:0)

uglify-folder(在 2021 年,现在?)支持传入更简洁的配置,如下所示:

$ uglify-folder --config-file uglifyjs.config.json ...other options...

uglifyjs.config.json

{
  "compress": {
    "drop_console": true
  }
}

以及 API reference 中的所有可用选项。