【问题标题】:Error using core-scaffold from polymer JS in the latest Polymer Dart release在最新的 Polymer Dart 版本中使用来自聚合物 JS 的核心支架时出错
【发布时间】:2014-06-03 14:37:54
【问题描述】:

在听说 Polymer JS 组件应该开箱即用,而他们没有,我继续尝试在我的项目中使用一些 Polymer JS 元素。

我需要从所有 JS 组件中删除一些文件,例如 demo.html、metadata.html 和 index.html,并替换为 .这是为了让聚合物转换器不包含不需要和不需要的文件,并确保它使用 dart polymer.html 文件以防止它被加载两次。

我包含了 core-scaffold 组件,但在最新的 Dart 编辑器中运行 pub serve 时出现此错误。


Build error:
Transform ScriptCompactor on gcanvas|web/index.html threw error: The null object does not have a method '>'.

NoSuchMethodError: method not found: '>'
Receiver: null
Arguments: [7]
dart:core-patch/object_patch.dart 45                                            Object.noSuchMethod
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 99:30           Parser._parseBinary
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 71:72           Parser._parsePrecedence
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 43:52           Parser._parseExpression
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 29:28           Parser.parse
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 12:56           parse
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 524:25  _HtmlExtractor._addExpression
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 509:23  _HtmlExtractor._processNormalElement.<fn>
dart:collection-patch/collection_patch.dart 957                                 _HashMap&&_LinkedHashMapMixin.forEach
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 495:28  _HtmlExtractor._processNormalElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 453:43  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 462:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 32:52                 TreeVisitor.visitDocument
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 16:52                 TreeVisitor.visit
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 187:61  _extractUsesOfMirrors
dart:async/zone.dart 730                                                        _rootRunUnary
dart:async/zone.dart 864                                                        _RootZone.runUnary
dart:async/future_impl.dart 488                                                 _Future._propagateToListeners.handleValueCallback
dart:async/future_impl.dart 571                                                 _Future._propagateToListeners
dart:async/future_impl.dart 555                                                 _Future._propagateToListeners.handleWhenCompleteCallback.<fn>
dart:async/zone.dart 730                                                        _rootRunUnary
dart:async/zone.dart 864                                                        _RootZone.runUnary
dart:async/future_impl.dart 488                                                 _Future._propagateToListeners.handleValueCallback
dart:async/future_impl.dart 571                                                 _Future._propagateToListeners
dart:async/future_impl.dart 331                                                 _Future._completeWithValue
dart:async/future_impl.dart 393                                                 _Future._asyncComplete.<fn>
dart:async/schedule_microtask.dart 23                                           _asyncRunCallbackLoop
dart:async/schedule_microtask.dart 32                                           _asyncRunCallback
dart:isolate-patch/isolate_patch.dart 128                                       _RawReceivePortImpl._handleMessage

dart:core                                                                       Object.noSuchMethod
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 99:30           Parser._parseBinary
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 71:72           Parser._parsePrecedence
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 43:52           Parser._parseExpression
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 29:28           Parser.parse
http://127.0.0.1:39312/packages/polymer_expressions/parser.dart 12:56           parse
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 524:25  _HtmlExtractor._addExpression
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 509:23  _HtmlExtractor._processNormalElement.<fn>
dart:collection                                                                 _HashMap&&_LinkedHashMapMixin.forEach
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 495:28  _HtmlExtractor._processNormalElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 453:43  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 462:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 39:50                 TreeVisitor.visitElement
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 465:25  _HtmlExtractor.visitElement
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 12:50                 TreeVisitor.visit
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 24:49                 TreeVisitor.visitChildren
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 30:48                 TreeVisitor.visitNodeFallback
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 32:52                 TreeVisitor.visitDocument
http://127.0.0.1:39312/packages/html5lib/dom_parsing.dart 16:52                 TreeVisitor.visit
http://127.0.0.1:39312/packages/polymer/src/build/script_compactor.dart 187:61  _extractUsesOfMirrors
dart:isolate                                                                    _RawReceivePortImpl._handleMessage
Build completed with 1 errors.
[web] GET /index.html => Could not find asset gcanvas|web/index.html.
[web] GET /favicon.ico => Could not find asset gcanvas|web/favicon.ico.

我通过排除,然后一一包括在 core-scaffold 中找到的组件,将其跟踪到组件 core-header-panel,直到它再次失败。

有谁知道这个方法'>'在哪里?什么是空?除非我想放弃使用 core-scaffold,否则这是一个障碍。不管怎样,下面粘贴的是 bower.json 文件和 pubspec.yaml 的内容,以防万一。

pubspec.yaml

name: gcanvas
version: 0.0.5
author: James Hurford
description: Canvasing App for doorknocking campaigns.
environment:
  sdk: '>=1.0.0 <2.0.0'
dependencies:
  browser_detect: any
  csvparser: any
  http: any
  http_server: any
  lawndart: any
  mime: any
  polymer: any
  postgresql: any
  route: any
  uuid: any
dev_dependencies:
  scheduled_test: any
transformers:
- polymer:
    entry_points:
    - web/index.html

bower.json

{
  "name": "gcanvas",
  "version": "0.0.0",
  "authors": [
    "James Hurford"
  ],
  "private": true,
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ],
  "dependencies": {
    "x-tag-imports": "x-tag/x-tag-imports",
    "polymer-ui-tabs": "polymer/polymer-ui-tabs#~0.3.0",
    "core-scaffold": "polymer/core-scaffold#~0.3.1"
  },
  "resolutions": {
    "platform": ">=0.3.0 <1.0.0"
  }
}

谢谢

【问题讨论】:

  • 看起来像 polymer_expressions 中的一个错误,并且可能是 Dart 聚合物转换器。我怀疑polymer-header-panel `
    . Is guess the Dart Polymer transformer tries to process this file and fails on the unknown operator ! ==`。只是一个没有受过教育的猜测;-)
  • 我猜想涉及到变压器,但不是聚合物表达式。如果我注释掉 !== 部分,我会看看会发生什么。
  • @Günter Zöchbauer 您能否将其添加为答案,因为当我从 !== 更改为 != 时它似乎有效
  • 我会在明天睡觉后提交错误报告。除非你愿意,但如果你愿意,请告诉我
  • 仅供参考,我在删除错误报告时遇到的问题已经解决。我的错误报告已恢复,错误已修复

标签: javascript dart polymer dart-polymer


【解决方案1】:

通过查看引发异常的代码,Polmyer 转换器似乎试图处理 HTML 文件和绑定表达式。 这看起来像是 polymer_expressions 中的错误或缺失功能,并且可能是 Dart Polymer 转换器。我怀疑聚合物头面板中的这段代码&lt;div id="mainContainer" flex?="{{mode !== 'cover'}}" on-scroll="{{scroll}}"&gt; is causing the exception at the unknown operator !==

【讨论】:

  • 通过将 !== 更改为 !=,错误消失了。它现在可以工作了。
  • 输入了一个错误,该问题在下一版本的 polymer_expressions 中得到修复
猜你喜欢
相关资源
最近更新 更多
热门标签