AMD似乎是根据需要加载
javascript模块的最佳做法.
这对于大型网络应用来说应该是非常有用的,用户只能使用一部分可用的功能.
我已经阅读了优化器,它将所有必需的模块连接到一个文件中,我已经阅读了关于没有优化,即加载每个模块的异步请求.
两者似乎都不符合这种用例:用请求加载每个模块可能会快速导致大量请求,而优化会强制您下载所有代码.
有没有办法将多个模块捆绑到一个文件中?
解决方法
是.
通常将应用程序分解为如此多的文件并将其与AMD进行加载仅适用于开发.它有助于保持代码清洁和可理解;每个模块都包含视图,模型,控制器和每个模块都是一个单独的文件是相当合乎逻辑的.
通常将应用程序分解为如此多的文件并将其与AMD进行加载仅适用于开发.它有助于保持代码清洁和可理解;每个模块都包含视图,模型,控制器和每个模块都是一个单独的文件是相当合乎逻辑的.
然而,大量的请求在生产中没有任何意义.因此,您应该使用优化器将文件编译并最小化为一个(或几个),以提高性能和用户体验.
如果您正在使用RequireJS,请参考http://requirejs.org/docs/optimization.html#wholeproject
例如,如果我的应用程序由公共区域,管理和非常复杂的注册表单组成,每个构建都有数百个视图/模型/控制器,我可能会将我的代码编译成只有4个文件:common,public,admin,sign_up.然后,当用户输入特定区域时,适当的文件将被异步加载.