省道+;Polymer作为网页/应用程序/扩展不在Dart编辑器之外工作

省道+;Polymer作为网页/应用程序/扩展不在Dart编辑器之外工作,dart,dart-polymer,dart-editor,Dart,Dart Polymer,Dart Editor,我在Dart编辑器(Win7Pro64)中编写了一个Dart聚合物应用程序。一切都在Dartium中完美运行,并在Chrome中作为Javascript运行,但我无法在IDE之外加载工作版本 在Chrome(36.0.1985.103 beta-m)中打开html文件(只有一个)时,背景图像在那里,但UI的其余部分不存在或没有样式(纸元素似乎不在那里)。Dart/JavaScript似乎也没有执行 将其作为未打包的扩展加载到Chrome中(作为应用程序或扩展,请参见下面的清单)的结果几乎完全相同

我在Dart编辑器(Win7Pro64)中编写了一个Dart聚合物应用程序。一切都在Dartium中完美运行,并在Chrome中作为Javascript运行,但我无法在IDE之外加载工作版本

在Chrome(36.0.1985.103 beta-m)中打开html文件(只有一个)时,背景图像在那里,但UI的其余部分不存在或没有样式(纸元素似乎不在那里)。Dart/JavaScript似乎也没有执行

将其作为未打包的扩展加载到Chrome中(作为应用程序或扩展,请参见下面的清单)的结果几乎完全相同。UI组件都在那里,但没有样式,也没有Dart/JavaScript功能。然而,纸上的涟漪效应确实起了作用,所以可能只是我的脚本没有运行

如果有必要,我不仅尝试了
build/web/
文件夹,还尝试了
out/web/
web/
文件夹

编辑:app.html将在Chrome中成功打开(从Windows)。但是,当作为Chrome应用程序或exension加载时,我会遇到大量错误:。由于它们似乎都与顾客服务提供商有关,以下是第一点:

拒绝将字符串作为JavaScript求值,因为不允许使用“不安全求值”
以下内容安全策略指令中的脚本源:“default src
“自我”chrome扩展资源:“。请注意,没有显式设置“script src”,因此
“默认src”用作回退。
遵守js:988
(匿名函数)observe.js:988
(匿名函数)observe.js:992
(匿名函数)wrappers.js:374
/EDIT

好的,关于代码:

公共规范yaml

作为扩展加载时,我使用了
csp:true
,并确保构建的html文件使用了
*.precompiled.js
脚本

name:app
描述:描述
依赖项:
聚合物:“>=0.12.0=0.1.1=0.1.0+2=0.9.0”

密码:“>=0.7.0=0.6.5=0.6.0我试过了,在Dartium(36.0.1985.97(282401))、Chrome(36.0.1985.125版)和Firefox(30.0)中看起来不错,但在Dartium中没有作为扩展。我想知道为什么它甚至作为扩展从
web
加载,我还以为扩展应该只从
app
加载(参见)

纸元素/核心元素似乎在Chrome应用程序中存在已知问题


进一步扩展Gunter的回答,我就是这样在Windows中使用硫化的;允许作为扩展或应用程序成功加载

  • 从下载并安装Node.js
  • 打开命令提示符,键入
    npm install-g dursize
    将dursize可执行文件安装到
    %AppData%\npm\node\u modules\dursize\bin\
    (我相信可以省略-g选项)
  • 使用
    --csp
    选项在
    \build\web\
    中的HTML文件上运行可执行文件(有关其他命令选项,请参阅)

    硫化--csp-o build\web\app.html build\web\app.html


  • 不需要使用NodeJS-通过向
    pubspec.yaml
    文件中的变压器添加CSP选项,可以实现同样的效果:

    transformers:
      - polymer:
          csp: true
      - $dart2js:
          csp: true
    

    确保在任何代码更改后运行
    Pub Build
    ,并使用
    Build/web
    下的文件作为扩展名。

    什么是“无法加载”或“不工作”的确切含义。有错误消息吗?我用错误MSG的粘贴箱编辑了问题(似乎与csp相关)。如果您想亲自尝试,这里是repo。错误的第一行有一个CSP加载聚合物的问题;该行:
    被引用。项目中没有应用程序/目录。我通常使用Chrome的扩展界面从build/web/目录加载应用程序/扩展。您链接的问题似乎正是我的问题,我很抱歉要试试这个“硫化剂”吗事情。硫化后仍然有两个内联脚本。一个在
    内,一个在
    内。以下是两个元素的图像:。我试过这么做,但该脚本仍然出现在Chrome开发工具中。我应该离线下载并修改这些元素,还是有更好的方法?这些元素的升级版本应该很快发布。也许这个问题已经解决了。您可以尝试使用GitHub repo中的元素git@github.com:同时使用dart lang/core-elements.git。