【发布时间】: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