我还是ES6和模块加载器的新手,我目前正在考虑将浏览器设置与ES6相结合。我想知道如果我使用ES6模块,是否还需要browserify / requirejs。似乎都允许您定义模块并导出它们? browserify / requirejs模块和ES6模块之间有什么区别?
答案 0 :(得分:68)
在玩了一会儿之后,我确实对事情有了更好的理解,也感谢@Andy blog by Addy Osmani。
有不同的模块系统:AMD(RequireJS),CommonJS(Node)和新的ES6模块语法(当然还有旧的ES5 Global系统)。
但是,如果您想在浏览器中使用它们,您仍然需要使用某些模块加载程序库加载和连接这些模块,因为浏览器仍然不支持它。为此,您可以使用模块加载器,如RequireJS,Browserify,SystemJS或es6-module-loader。
SystemJS是我个人的最爱,因为它允许您加载任何模块系统(AMD,CommonJS,ES6),甚至可以在1个应用程序中互换使用它们。
更新:平均时间Webpack已经可用,也应该被视为模块加载器。