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

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

在玩了一段时间之后,我对事情有了更好的理解,也感谢@Andy对Addy Osmani的博客 。

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

但是,如果你想在你的浏览器中使用这些模块,你仍然需要使用一些模块加载器库加载和连接这些模块,因为浏览器仍然不支持。 为此,您可以使用像RequireJS , Browserify , SystemJS或es6-module-loader这样的模块加载器 。

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

更新:与此同时, Webpack已经可用,应该被视为一个模块加载器。