将 JS 文件包含到 Crossrider 项目中

Including JS files to Crossrider project

我正在研究 Crossrider 扩展,我是扩展开发的新手。我已经基于演示创建了基本项目,甚至包括用于测试的 Jasmine。 不幸的是,我坚持创建自己的资源。

这是我的调试项目的结构:

resources\
    lib\
    spec\
        test-runner.js
    src\
        js\
            App.js
        popup.html
    background.js
    extension.js

测试-runner.js:

(function() {
    appAPI.resources.includeCSS('lib/jasmine/jasmine.css');
    appAPI.resources.includeJS('lib/jasmine/jasmine.js');
    appAPI.resources.includeJS('lib/jasmine/jasmine-html.js');
    appAPI.resources.includeJS('lib/jasmine/boot.js');

    $('body').html('');

    appAPI.resources.includeJS('spec/App-spec.js');
})();

这就是我包含此文件的方式:

appAPI.resources.includeJS('spec/test-runner.js');

一切正常。

当我尝试包含 App.js 时,问题开始了。我读到应该这样做:

 appAPI.resources.addInlineJS('src/js/App.js');

但它不起作用。

这是我的 App.js:

var App = {
    init: function() {
        console.log('App initialized');
    }
};

$(document).ready(App.init);

是否可以在extension.jsbackground.js中包含资源文件,以及如何添加更多js文件到项目资源?

如果我理解您要正确实现的目标(即向扩展代码添加资源脚本),我认为您遇到了 scope 问题。

appAPI.resources.addInlineJS adds the resource script to the HTML Page scope and once added, the code is not accessible by the Extension Page scope. To add the resource script to your extension code (i.e. extension.js code), use appAPI.resources.includeJS如下:

appAPI.resources.includeJS('src/js/App.js');

[披露:我是 Crossrider 员工]