2013-04-16 63 views
1

我希望对SPA中使用BundleConfig和Require.js的任何合理解释。你怎么选择在启动应用程序时由BundleConfig加载哪些脚本?不应该在BundleConfig中调用哪些脚本并通过AMD有选择地加载?一旦由BundleConfig加载,它们是否必须在require.js的DEFINE语句中再次调用?使用BundleConfig和Require.js的SPA

搜索我可能,我根本无法找到所有这一切的简单解释。

谢谢!

回答

2

BundleConfig将帮助您在1次旅程中将所有脚本捆绑到客户端。这就为require.js带来了负担或工作。我经常为第三方脚本执行此操作,因为无论如何,我很有可能需要所有客户端。

然后我可以选择使用require.js来根据需要加载我的脚本(也就是AMD)或将它们捆绑在一起。

虽然需求不会异步加载。它还处理依赖关系解决方案。对我而言,这是更重要的部分。它确保在我使用模块A之前,如果它依赖于B,这取决于C,这取决于D,这首先得到解决。所以他们得到加载并按照正确的顺序运行。

因此,无论您使用的是捆绑还是不捆绑,require.js依赖方面都非常有价值。

+0

感谢您的回复,约翰。我想我正在努力制定一个加载脚本的好策略。例如,在你的CCJS-Scratch项目中,你决定在BundleConfig中加载knockout和微风(在q之后)。但是,您决定根据需要加载迪兰道尔。你为什么做出这个决定? – CCPony

+0

所有第三方脚本都捆绑在一起,除了杜兰达。这就是我滚动的方式。然后根据需要或在他们自己的包中自己的脚本。 Durandal我让自己处理,因为它根据需要加载自身(除非您使用optimizer.exe) –