javascript - 如何浏览、编译 ES6 和缩小 NodeJS 应用程序

标签 javascript node.js ecmascript-6 browserify babeljs

我正在尝试同时掌握 browserify 和 ES6。我有以下基本 Node 文件:

ma​​in.js

var foo = require('./foo.js');
var x = foo.math(200);
console.log(x);

foo.js

exports.math = (n)=>{ 
  return n * 111;
};

现在我想做以下事情:

  • 将其浏览成一个文件 bundle.js,以便我可以将其作为脚本包含在我的网站中
  • 使用 babel 编译 JS,使 ES6 可被所有浏览器读取
  • 缩小 bundle.js 以缩短浏览器的加载时间

我已经全局安装了 browserify,并使用以下命令运行它: 浏览 main.js > bundle.js

效果很好。但是我应该先运行 babel 吗?我如何完成我的 3 步过程以及以什么顺序(当然缩小必须最后发生)?我应该用 grunt 做这一切吗?

最佳答案

不再需要使用任务运行器。但是,请从命令行使用一个简洁的插件,如 babelify,如其 README.md here 中所述.

npm install --save-dev browserify babelify babel-preset-es2015

browserify script.js -o bundle.js \
    -t [ babelify --presets es2015 ] 

并根据需要从 here 添加其他转换或其他任何地方,例如丑化.

关于javascript - 如何浏览、编译 ES6 和缩小 NodeJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582851/

相关文章:

javascript - 如何获取在另一个模型中定义的 Mongoose 数据库的架构

javascript - selenium-python 单击按钮总是返回错误

javascript - 在Jasmine中,beforeAll()和let之间有什么区别吗?

node.js - 如何在不全局安装的情况下在 Node REPL 中要求 Node 模块?

javascript - 以正确的方式使用 Object.create()

javascript - 只有在某个条件成立后才在 React 中返回?

javascript - 将过滤后的集合传递给 Angular 指令会导致异常

javascript - |\s 的目的/作用是什么?在 ([\s\S]+|\s?)

javascript - ngSatellizer 和 Hapi/Bell 不能很好地协同工作。 Promise 不会解决 Twitter

mysql - 二进制字段,Waterline ORM