【问题标题】:What is the difference between browserify/requirejs modules and ES6 modules [closed]browserify / requirejs模块和ES6模块有什么区别[关闭]
【发布时间】:2015-02-23 13:13:33
【问题描述】:

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

【问题讨论】:

  • Addy 给出了一个很好的细分 imo。
  • browserify 不是一个模块系统,它是一个模块捆绑器。

标签: javascript module requirejs browserify ecmascript-6


【解决方案1】:

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

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

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-11-25
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 2013-01-11
  • 1970-01-01
  • 2015-07-23
相关资源
最近更新 更多