我正在尝试使用.custom_element_apigen
发生了一些问题,并根据我的理解寻求解决方案(可能包括更多问题!)。
但是,仍然会引发错误并且无法继续。我需要一些关于如何移植到 Dart 的帮助!!!我将简要描述给出的步骤、错误和解决方案以及项目测试源代码的链接:
1)我按照步骤,根据https://github.com/dart-lang/custom-element-apigen。我在 Windows 上遇到了问题,但之后我必须解决(custom_element_apigen: 将纸张数据表导入 Dart 时出错)
2) apigen.yaml
used withcustom_element_apigen
不清楚如何配置。我使用“试错”方法,直到不再发生错误。是这样的:
files_to_generate:
- paper-datatable\paper-datatable.html
- paper-datatable\paper-datatable-column.html
- paper-datatable\paper-datatable-edit-dialog.html
- paper-datatable\paper-datatable-card.html
- paper-datatable\paper-datatable-styles.html
- paper-datatable\datatable-icons.html
files_to_load:
- package:polymer_elements/src/paper-material/paper-material.html
- package:polymer_elements/src/iron-ajax/iron-request.html
- package:polymer_elements/src/iron-ajax/iron-ajax.html
- package:polymer_elements/src/iron-form/iron-form.html
- package:polymer_elements/src/iron-meta/iron-meta.html
- package:polymer_elements/src/iron-icon/iron-icon.html
- package:polymer_elements/src/iron-iconset-svg/iron-iconset-svg.html
- package:polymer_elements/src/paper-ripple/paper-ripple.html
- package:polymer_elements/src/paper-checkbox/paper-checkbox.html
- package:polymer_elements/src/neon-animation/animations/opaque-animation.html
- package:polymer_elements/src/neon-animation/animations/fade-in-animation.html
- package:polymer_elements/src/neon-animation/animations/fade-out-animation.html
- package:polymer_elements/src/paper-tooltip/paper-tooltip.html
- package:polymer_elements/src/iron-resizable-behavior/iron-resizable-behavior.html
- package:polymer_interop/src/js/debug/src/lib/template/templatizer.html
某些路径导入在
paper-datatable*.(html and dart)
文件上是错误的。pe :import 'packages\polymer_interop\src\js\debug\src\lib\template\templatizer.dart';
我改成import 'package:polymer_interop/src/behaviors/templatize.dart';
on 了paper_datatable_column.dart
。我将保留的 Dart 字更改
default
为defaultx
onget defaultx => jsElement[r'default'];
和set defaultx(value) { jsElement[r'default'] = (value is Map || (value is Iterable && value is! JsArray)) ? new JsObject.jsify(value) : value;}
指令 onpaper_datatable_column.dart
andpaper_datatable_card.dart
;在几个聚合物组分中发生以下错误之后。Pe:
Failed to execute 'registerElement' on 'Document': Registration failed for type 'iron-meta'. A type with that name is already registered.
我把所有的路径都改成paper-datatable*.*
文件来获取聚合物和聚合物元素的官方包(pub.dartlang)。佩:<link rel="import" href="paper_icon_button_nodart.html">
到<link rel="import" href="../../packages/polymer_elements/paper_icon_button_nodart.html">
。注册问题不再出现!但现在,出现以下问题,我不知道如何解决:在调试控制台上出现以下消息:
Uncaught SyntaxError: Unexpected token =>
. Web 应用程序可在浏览器上运行,但不会出现纸质数据表。
我的完整测试项目(webstorm)在https://github.com/supermuka/paper_datatable_port_dart_demo
我使用 Dart custom_element_apigen
(and apigen.yaml
) 的方式有问题吗?我在路径上发生了一些错误吗?我还需要更改一些其他来源?
谢谢!