browserify / requirejs模块和ES6模块之间有什么区别

时间:2015-02-23 13:13:33

标签: javascript module requirejs browserify ecmascript-6

我还是ES6和模块加载器的新手,我目前正在考虑将浏览器设置与ES6相结合。我想知道如果我使用ES6模块,是否还需要browserify / requirejs。似乎都允许您定义模块并导出它们? browserify / requirejs模块和ES6模块之间有什么区别?

1 个答案:

答案 0 :(得分:68)

在玩了一会儿之后,我确实对事情有了更好的理解,也感谢@Andy blog by Addy Osmani

有不同的模块系统:AMD(RequireJS),CommonJS(Node)和新的ES6模块语法(当然还有旧的ES5 Global系统)。

但是,如果您想在浏览器中使用它们,您仍然需要使用某些模块加载程序库加载和连接这些模块,因为浏览器仍然不支持它。为此,您可以使用模块加载器,如RequireJSBrowserifySystemJSes6-module-loader

SystemJS是我个人的最爱,因为它允许您加载任何模块系统(AMD,CommonJS,ES6),甚至可以在1个应用程序中互换使用它们。

更新:平均时间Webpack已经可用,也应该被视为模块加载器。