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

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

本文关键字:模块 什么 区别 ES6 requirejs browserify      更新时间:2024-04-10

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

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

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

但是,如果你想在浏览器中使用这些模块,你仍然需要加载这些模块,并将其与一些模块加载器库连接起来,因为浏览器仍然不支持这一点。为此,您可以使用模块加载器,如RequireJS、Browserify、SystemJS或es6模块加载器。

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

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