【问题标题】:How do I nest includes?我如何嵌套包含?
【发布时间】:2014-11-08 16:01:29
【问题描述】:

我在我的 extension.js 文件中使用包含,并且希望能够嵌套其他包含文件。例如:我想包含一个文件 1.js,该文件又包含 1-1.js1-2.js,并且那么1-2.js包括1-2-1.js1-2-2.js。我可以使用 appAPI.resources.includeJS 包含一级文件 - 但我似乎无法在资源文件中使用它。

另外,为什么我不能直接在 appAPI.ready 回调之外包含文件?即通过简单地连接 JS 文件。

【问题讨论】:

  • 嵌套包含应该可以工作,我不确定我是否理解了第二个问题,如果你连接你的文件,你不需要使用 includeJS。

标签: cross-browser include cross-platform nested crossrider


【解决方案1】:

要首先回答您的第二个问题,您不必使用appAPI.resources.includeJS 来包含 JavaScript 文件,实际上可以将所有包含文件连接到一个文件中。但是,由于文件可以很快增长,因此不建议这样做,因为每个文件有 150K 的限制。

关于嵌套包含文件,这当然是可能的。根据您的问题举以下示例:

extension.js

appAPI.ready(function($) {
  appAPI.resources.includeJS('1.js');
});

1.js

console.log('1.js loaded, now loading 1-1.js & 1-2.js');
appAPI.resources.includeJS('1-1.js');
appAPI.resources.includeJS('1-2.js');
console.log('Done');

1-1.js

console.log('1-1.js loaded');

1-2.js

console.log('1-2.js loaded, now loading 1-2-1.js & 1-2-2.js');
appAPI.resources.includeJS('1-2-1.js');
appAPI.resources.includeJS('1-2-2.js');

1-2-1.js

console.log('1-2-1.js loaded');

1-2-2.js

console.log('1-2-2.js loaded');

控制台中的结果:

1.js loaded, now loading 1-1.js & 1-2.js
1-1.js loaded
1-2.js loaded, now loading 1-2-1.js & 1-2-2.js
1-2-1.js loaded
1-2-2.js loaded
Done

[披露:我是 Crossrider 的员工]

【讨论】:

    猜你喜欢
    • 2020-12-04
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多