来自Browserify的Uglify捆绑JS

时间:2015-11-07 20:04:02

标签: javascript node.js ecmascript-6 browserify uglifyjs

我安装了以下模块:

  • babelify
  • 巴别预置-ES2015
  • browserify
  • uglifyify

现在我有一个包含ES6 javascript的核心文件server.js。我可以将ES6转换为ES5并使用以下命令捆绑浏览器的代码:

browserify server.js -o ./public/bundle.js -t [ babelify --presets [es2015] ]

但现在我想让uglifyify 缩小代码添加源地图。我无法解决这个问题,我无法找到正确的命令。我尝试过以下方法:

browserify server.js -t uglifyify -t [ babelify --presets [es2015] ] -o ./public/bundle.js

browserify server.js -o ./public/bundle.js -t [ uglifyify, babelify --presets [es2015] ]

browserify server.js uglifyify -o ./public/bundle.js -t [ babelify --presets [es2015] ]

甚至没有巴贝尔:

browserify server.js -o ./public/bundle.js -t uglifyify
browserify server.js -t uglifyify -o ./public/bundle.js

2 个答案:

答案 0 :(得分:2)

在本地安装uglifyify还不够 - 您还需要安装uglify-es全球版,因为uglifyify使用了它。你这样安装它:

npm i -g uglify-es

然后你就这样使用它:

browserify server.js -o ./public/bundle.js -t uglifyify

与babelify一起使用

如果您还需要babelify,请执行以下操作:

browserify server.js -o ./public/bundle.js -t uglifyify -t babelify

直接使用uglify-es

您也可以直接使用uglifyify来完全跳过使用uglify-es

browserify server.js | uglifyjs -c > ./public/bundle.js

uglifyify的唯一目的是uglify-es可以用作browserify 转换

答案 1 :(得分:0)

也许你需要使用Pipe“|”为了制作多个程序 试试这个:

browserify server.js -t babelify | uglifyjs > public/bundle.js

我希望它有所帮助,否则我会很乐意继续帮助你解决这个问题;)

最诚挚的问候。