jAn*_*ndy 24 javascript requirejs
我正在阅读优化器文档很长一段时间,但似乎我无法理解它.医生说:
优化器将仅结合了在字符串文字的数组传递给顶层规定指明模块,并定义呼叫,否则需要在简化的CommonJS的包裹("姓名")字符串文字呼叫.因此,它不会找到通过变量名加载的模块:
好到目前为止一切顺利.这基本上意味着r.js不会包含也不会爬网嵌套依赖项.现在假设我们有一个"主应用程序"文件,如下所示:
require([ 'es5shim', 'tools' ], function() {
console.log('fictive app entry point');
require([ 'domready!' ], function( doc ) {
console.log('domReady, loading GUI modules...');
require([ 'GUI/window', 'GUI/header', 'GUI/content' ]);
});
});
Run Code Online (Sandbox Code Playgroud)
我想问题在这里变得非常明显.r.js(优化器)仅通过链接es5shim.js
和创建该文件tools.js
.有没有什么好的办法/解决方法告诉优化,它也应该链接的window.js
,header.js
而content.js
文件中的例子吗?
当然domReady
,这个实例中的插件会被加载,最终会执行回调,但看起来这里的结构本身会阻止优化器完成它的工作.
问题是:
如果我只是列出"Top require call"中的所有模块,那么r.js是否还包括+链接所有top require
以及define
从嵌套和嵌套嵌套模块到main-app文件的调用?
他们在文档中提到了r.js的include选项.它在这里是否有意义,如果是,如何正确调用它?
当然,你不想失去的选项后,在延迟加载的模块,但是对于这种依赖(等待DOMContentLoaded),我希望有一种方式来变通方法.
Aar*_*ius 46
默认情况下,RequireJS不会扫描嵌套的require调用,因为它假定这些调用是为了在运行时加载依赖项.您可以通过设置覆盖它
findNestedDependencies: true
Run Code Online (Sandbox Code Playgroud)
在您的优化配置中.希望有所帮助.
归档时间: |
|
查看次数: |
4678 次 |
最近记录: |