UglifyJS - 转换文件夹

时间:2016-07-11 14:49:16

标签: javascript node.js web npm uglifyjs

我想知道是否有人可以提供帮助,我试图完成我的构建过程,该过程目前正在转换es6> es5使用babel,完成之后我想使用uglifyJS以NPM脚本递归缩小我所有的.js文件(请不要咕噜咕噜地说话)。

我想要什么;

  • 将文件夹中的所有.js转换为es5
  • 使用uglify
  • 缩小给定文件夹中的所有.js文件
  • 创建源地图
  • 复制到新文件夹

我当前的设置;

  • 将所有.js转换为es5
  • 缩小所有es5 .js文件(但是没有创建源图,也会替换es5 js文件,因为它们不支持移动到另一个文件夹)

我已经尝试过:https://www.npmjs.com/package/recursive-uglifyjshttps://www.npmjs.com/package/uglifyjs-folder但这些似乎无法执行我需要的构建步骤

这是我的package.json脚本部分

   "babel": "babel js_uncompiled --out-dir js_uncompiled/es5 --source-maps  && npm run npm:uglify",
    "build": "npm run babel",
    "uglify": "recursive-uglifyjs js_uncompiled/es5"

您可以在此处找到指向我的完整package.json的链接:http://pastebin.com/4UHZ1SGM

由于

1 个答案:

答案 0 :(得分:0)

已编辑:包含评论信息

所以,现在uglifyjs-folder可以选择传递一个配置文件,这样你就可以运行所有uglify的命令,但是在整个文件夹上(你可以使用和声转换到ES5){{3} })。

请注意,这比使用cat或其他shell命令手动执行更好,因为 uglifyjs-folder 可以生成单个输出文件(连接)并且更易于使用。

运行uglifyjs-folder "%CD%" --config-file "uglify.config.json" --output "folder" -e,其中配置文件(在项目的根文件夹中)包含例如(不是所有需要的选项):

{ "compress": true, "mangle": true, "sourceMap": { "base": "input/path/", "content": "input/sourcemap", "filename": "{file}.min.js", "includeSources": true, "root": "original/source/path", "url": "source/path" } }

Obs。:目前我自己有一个as stated in comments因为源映射导致错误。问题解决后,我会在这里更新我的答案。

更新:好的,问题解决了,1.5版本发布了!上面的代码已更新