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

What is the difference between browserify/requirejs modules and ES6 modules

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

玩了一段时间后,我确实对事物有了更好的了解,也感谢@Andy blog by Addy Osmani

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

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

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

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