我正在尝试使用 Dart 编写 Chrome 扩展。到目前为止,除了内容脚本之外,一切都很顺利——内容脚本 dart 文件中的“main”函数似乎没有运行。
更具体地说,首先,Dartium 无法使用,因为在清单中的“js”规则中给出 dart 文件会导致 Dartium 抱怨;接下来我尝试编译 dart 文件(使用 csp: true),然后使清单直接包含编译后的 js 文件 --- 然后我陷入困境,似乎无论我尝试什么,(编译的)“main”函数只是不运行。
有什么建议么?
Update:
清单文件:
{
"manifest_version": 2,
"name": "Assistant",
"description": "Assists you with various tasks.",
"version": "1.0",
"minimum_chrome_version": "26.0",
"permissions": ["<all_urls>", "storage"],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": [
"packages/browser/dart.js",
"dart_content_script.dart.js"
],
"run_at": "document_start",
"all_frames": false
}
],
"browser_action": {
"default_popup": "popup.html",
"default_icon": "bulb.png"
},
"background": {
"page": "background.html"
}
}
内容脚本 dart 文件:
void main() {
print('main done');
}
pubspec.yaml:
name: AssistentExtension
dependencies:
browser: any
chrome: any
dev_dependencies:
unittest: '>=0.10.0'
transformers:
- $dart2js:
csp: true
在Chrome开发者控制台中,我可以找到字符串“main did”,这意味着“main”函数确实包含在编译后的js中,但没有打印任何内容,这意味着它没有运行。