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

UglifyJS - convert all .js in a folder

我想知道是否有人可以提供帮助,我正在尝试完成目前使用 babel 转译 es6 > es5 的构建过程,完成后我想使用 uglifyJS 递归缩小我所有的 .js 文件,使用只是 NPM 脚本(请不要使用 grunt 或 gulp)。

我想要的;

我目前的设置;

我已经尝试过:https://www.npmjs.com/package/recursive-uglifyjs and https://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"

你可以在这里找到 link 我的全部 package.json : http://pastebin.com/4UHZ1SGM

谢谢

已编辑:包括来自评论的信息

那么,现在 uglifyjs-folder has the option of passing a config file so you can run all uglify's commands, but on a whole folder (and you can transpile to ES5 using harmony - ).

请注意,这比使用 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.: 目前我自己有一个 open issue 因为源映射导致错误。问题解决后我会在这里更新我的答案。

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