使用r.js之类的东西将所有模块 bundle 到一个大文件中后,我很难理解AMD架构的异步方面在哪里存在。

使用r.js而不是简单地允许require.js在不阻塞DOM的情况下按需异步加载离散js的好处是什么(除最小化之外)?当然,仅加载应用程序当前需要的内容(原始的require.js)要比加载应用程序可能需要的所有内容(编译的r.js)更快。

最佳答案

如果您决定只生产一 bundle ,AMD不会有任何好处,只是弊端,因为您得到的只是一堆代码和样板。

如果您正在寻找干净的解决方案,请尝试使用CommonJS样式,不要样板,并且使用合适的工具,它比AMD快得多(因为异步磁盘操作比异步网络操作快),使用CommonJS,您的代码也变得与环境无关,因此您可以在服务器(Node.js)和客户端上加载模块,无需额外的配置/黑客操作。

检查Webmake(我是它的作者)我用它开发了几年。我从来没有回头。

另请查看一些AMD-> CommonJS过渡成功案例:http://esa-matti.suuronen.org/blog/2013/03/22/journey-from-requirejs-to-browserify/

10-05 20:44
查看更多