【发布时间】:2015-09-07 06:56:36
【问题描述】:
如果问题已经得到解答,但我无法找到任何相关内容,我提前道歉。 我正在重构一个相当大的 AngularJS 应用程序,我正在以 AMD 模块的形式创建组件。构建过程(grunt)使用 requirejs 插件来加载所有模块并将它们连接到一个 js 文件中,包括一些库,如 jQuery。
现在,我正在查看 CommonJS 语法,它看起来非常干净,我想知道是否值得使用 CommonJS 模块而不是 AMD。我看到构建过程不会有太大的不同,基本上我只需要将 requireJS 与 browserify 交换即可。
在像我这样的工作流程中使用 AMD 模块比 commonJS 模块有什么优势吗?当您将所有模块连接到单个 js 文件中时,异步模块加载是否仍被视为运行时的优势?
谢谢。
【问题讨论】:
-
when you're concatenating all the modules in a single js file然后没有。你是对的,不需要AMD,实际上没有任何意义。另请阅读requirejs.org/docs/commonjs.html -
您应该考虑的另一个选项是Webpack,它支持 AMD、CommonJS 和 ES6 模块系统。
-
就像 vinyakj 写的那样,如果连接到一个文件,则不需要 AMD。但是,如果您需要一些延迟加载的代码,您可以查看angular-require-lazy 以获得一些想法。
标签: javascript angularjs requirejs amd commonjs