dart - Dart/Polymer 转换/编译为 JavaScript 后 Chrome 应用程序 CSP 违规

标签 dart google-chrome-app dart-polymer

好吧——所以在 dart2js 之后有很多关于 Polymer 的类似问题。我似乎遇到了一个特定于执行此操作但也将其作为 Chrome 应用程序运行的问题。

我发现结果会根据变压器的顺序而变化(这是预期的)。

这是我迄今为止的结果:

transformers:
- chrome
- polymer:
    entry_points: web/example.html
    csp: true
- $dart2js:
    csp: true

这在浏览器中效果很好,但在作为 Chrome 应用运行时会失败。

错误:未捕获类型错误:无法读取未定义的属性“apply”(在 example.html_bootstrap.dart.js 文件中)

从现在开始,我将删除 chrome 转换器,因为它是多余的。

现在我将切换变压器的顺序:

transformers:
- $dart2js:
    csp: true
- polymer:
    entry_points: web/example.html
    csp: true

在浏览器中运行时会失败。 错误:example.html_bootstrap.dart.js net::ERR_FILE_NOT_FOUND

作为 Chrome 应用运行时也会失败(具有相同的错误)。

现在我尝试复制 CDE 团队的成员正在做的事情。完全删除 $dart2js 变压器。 https://github.com/dart-lang/chromedeveditor/blob/master/ide/pubspec.yaml

transformers:
- polymer:
    entry_points: web/example.html
    csp: true

这可以从浏览器完美运行。

作为 Chrome 应用运行时会失败。

错误:blah blah 的 unsafe-eval 违反了 CSP 政策

为了覆盖我的基础,我也尝试了这个(未通过 CSP 政策):

- chrome
- polymer:
    entry_points: web/example.html
    csp: true

还有这个(不符合 CSP 政策):

- polymer:
    entry_points: web/example.html
    csp: true
- chrome

最佳答案

我认为当您使用 Polymer 时,您可以省略 chrome 变压器,并且 $dart2js 应该是最后一个变压器。 csp_fixer应该可以解决剩余的问题。

关于dart - Dart/Polymer 转换/编译为 JavaScript 后 Chrome 应用程序 CSP 违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27511346/

相关文章:

flutter - Flutter SingledChildScrollView>堆栈>定位为滚动上的故障

javascript - 解析主机时可移植 native 客户端权限被拒绝

dart - 如何从 Polymer Dart 1.0 中的任何自定义元素外部监听自定义事件?

dart - 您如何以编程方式仅从核心元素中禁用/隐藏 CoreTooltip?

android - 如何在 Flutter 中创建像 Telegram 或 WhatsApp 聊天页面这样的富文本输入?

flutter - 如何在 flutter 中将 child 定位在堆栈中?

javascript - 后台 js 脚本是否在 Chrome OS 应用程序中的不同线程上运行?

dart - 是否允许在聚合物元素中使用任何类型的 @published 属性?

android - 安装 build/app/outputs/flutter-apk/app.apk... 在 flutter 运行后丢失/没有发生。设备上未保存任何应用

google-chrome-app - 在 Visual Studio Tools for Cordova 中开发 Google Chrome 应用