Dart / Polymer转换/编译为JavaScript后,Chrome App CSP违规

时间:2014-12-16 18:20:38

标签: dart google-chrome-app dart-polymer

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

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

到目前为止,这是我的结果:

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

这在浏览器中运行良好但在以Chrome应用程序运行时失败。

错误:Uncaught TypeError: Cannot read property 'apply' of undefined(在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

1 个答案:

答案 0 :(得分:2)

我认为在使用Polymer时可以省略chrome转换器,而$dart2js应该是最后一个转换器。 csp_fixer应该可以修复剩余的问题。