angular - 在 Chrome 打包应用程序中使用 Angular 2

标签 angular google-chrome-app

我正在尝试使用 Angular 2 创建一个 chrome 打包的应用程序。但是当我尝试运行我的应用程序时出现以下错误:

EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src 'self' blob: filesystem: chrome-extension-resource

-> Evaluating chrome-extension://aabbecghjjmmpbagelfmhllgaidcbnmn/app/boot.js

boot.js的内容是:

System.config({ packages: { app: { format: 'register', defaultExtension: 'js', "defaultJSExtensions": true, } } });
System.import('app/boot').then(null, console.error.bind(console));

我知道 AngularJS(angular 1)有一个 ng-csp 指令来修复这个 Content Security Policy 错误。 Angular 2 有类似的东西吗?

有没有办法在打包的应用程序中运行 Angular 2?

最佳答案

这是解决问题的简短答案。

将以下内容添加到您的 Chrome 扩展程序或 App Manifest.json

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'" <code>enter image description here</code>

长话短说;

Chrome 开发者 - 扩展 内容安全策略 (CSP) https://developer.chrome.com/extensions/contentSecurityPolicy

enter image description here

这是来自 GitHub 的答案

chrome 应用程序中的 CSP Angular 为 2 #5956 https://github.com/angular/angular/issues/5956#issuecomment-180135425 enter image description here

这是 AngularJS 中描述的问题 https://docs.angularjs.org/api/ng/directive/ngCsp enter image description here

关于angular - 在 Chrome 打包应用程序中使用 Angular 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921674/

相关文章:

google-chrome-extension - 使用Chrome Identity API获取id_token

javascript - 解析 JSON 流

Angular 2 快速入门应用

Angular 2 RC5 在 canDeactivate 中获得预期路线

angular - 无法绑定(bind)到 'target',因为它不是 'div' 的已知属性

google-chrome - Chrome 打包应用 onActive

javascript - Angular 指令不工作 Chrome 打包应用程序

Angular 2 防止非授权用户访问路由和 child

angular - 在返回 observable 之前操作数据

dart - 从 Github 编译 Spark