鉴于Angular与视图绑定并在主扩展视图中引导,我认为简单的答案是"不,不可能",但是想确认,因为我无法找到任何地方的确定答案。
我的使用案例是,扩展程序将轮询来自API的更新内容,并在找到时更新扩展程序的徽章;我希望能够从扩展程序的Angular代码库中重用我的API服务。
如果不可能,建议使用Angular扩展和后台脚本之间共享代码的变通方法吗?
答案 0 :(得分:9)
感谢输入@Xan,@ harish - 根据您的反馈做了一些调查并获得了解决方案。本质上,我指向一个后台HTML页面,而不是指向Chrome清单中的后台脚本,然后我用它来引导我的Angular应用程序。相关代码:
的manifest.json:
...
"background": {
"page": "/app/background.html"
}
...
<强> background.html 强>
<!DOCTYPE html>
<html lang="en" ng-app="MyApp" ng-csp>
<head>
<title>Background Page</title>
<meta charset="UTF-8">
<script type="text/javascript"
src="/app/components/angular/angular.js"></script>
<script type="text/javascript"
src="/app/scripts/background.js"></script>
</head>
<body></body>
</html>
<强> background.js 强>
var app = angular.module('MyApp', []);
app.run(function() {
console.log('Hello world');
});