繁体   English   中英

将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

test-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文件?

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

appAPI.resources.addInlineJS将资源脚本添加到HTML页面范围,并且一旦添加, 扩展页面范围就无法访问该代码。 要将资源脚本添加到扩展代码(即extension.js代码)中, 按如下所示使用appAPI.resources.includeJS

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

[ 披露:我是Crossrider员工]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM