我正在进行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.js 或 background.js 中包含资源文件,以及如何将更多js文件添加到项目资源中?
答案 0 :(得分:1)
如果我理解您要正确实现的目标(即将资源脚本添加到扩展代码中),我认为您有scope问题。
appAPI.resources.addInlineJS将资源脚本添加到 HTML页面范围,一旦添加,扩展页面范围就无法访问该代码。要将资源脚本添加到您的扩展程序代码(例如 extension.js 代码),请使用appAPI.resources.includeJS,如下所示:
error C2065: "IDBConnector": undeclared identifier
error C2923: "std::shared_ptr": "IDBConnector" invalid template argument for the _Ty-Parameter
[披露:我是Crossrider员工]