UglifyJS – 转换文件夹中的所有.js

我想知道是否有人可以帮助,我试图完成我的构build过程,目前正在使用巴贝尔es6 es5> es5,完成后,我想使用uglifyJSrecursion缩小所有我的.js文件只使用NPM脚本(没有请咕噜咕噜咕噜)。

我的愿望

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

我目前的设置;

  • 将所有.js转换为es5
  • 最小化所有的es5 .js文件(但是没有创build源文件,es5 js文件被replace为不支持移动到另一个文件夹)

我试过了: https : //www.npmjs.com/package/recursive-uglifyjs和https://www.npmjs.com/package/uglifyjs-folder,但是这些都似乎无法执行我需要的构build步骤

这是我的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" 

你可以在这里find我的完整package.json的链接: http : //pastebin.com/4UHZ1SGM

谢谢

所以,现在uglifyjs文件夹可以select传递一个configuration文件,这样你就可以运行所有uglify的命令,但是在一个完整的文件夹中(但是它不能转换成ES5)。

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

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

{ "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 .:目前我自己有一个公开的问题 ,因为源映射导致错误。 一旦问题解决了,我会在这里更新我的答案。

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