uglifyjs-folder 从缩小的文件中删除控制台.log和警报



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

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

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

我想删除任何控制台.log警报,同时缩小,但找不到任何选项uglifyjs-folderhttps://www.npmjs.com/package/uglifyjs-folder

请帮忙。

简答题

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


溶液

您可以考虑编写一个 nodejs 实用程序脚本,它利用 shelljs 来:

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

以下步骤进一步说明了如何实现这一点:

  1. 安装

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

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 });
    

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

  2. 包.json

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

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

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

    npm run uglifyjs
    

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

    npm run uglifyjs -s
    

笔记:

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

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

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

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

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

并带有uglifyjs.config.json

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

以及 API 参考中此处提供的所有选项。

相关内容

最新更新