【发布时间】:2016-06-15 01:23:04
【问题描述】:
我想将聚合物应用程序从版本“^0.16.4”更新到“1.0.0-rc.5”。我在 pubspec.yaml 中有几行:
environment:
sdk: '>=1.12.0 <2.0.0'
dependencies:
bwu_datagrid:
git:
url: 'https://github.com/bwu-dart/bwu_datagrid'
ref: 'polymer1'
polymer: '1.0.0-rc.5'
polymer_interop: '^1.0.0-rc.3'
reflectable: '>=0.3.2 <0.3.4'
web_components: '^0.12.0'
dependency_overrides:
code_transformers: '^0.4.0'
reflectable:'^0.5.0'
redstone: '0.5.21+1'
quiver: '>=0.21.3 <0.22.0'
analyzer:'0.27.1'
polymer:'^1.0.0-rc.5'
args: '>=0.12.1 <0.14.0'
但是当我运行 pub get 时,我得到了错误:
Error on line 24, column 5 of ../../../.pub-cache/hosted/10.10.3.91%588080/initialize-0.6.1+2/pubspec.yaml: Error loading transformer: 'package:code_transformers/src/dart_sdk.dart': malformed type: line 128 pos 39: type 'SdkAnalysisContext' is not loaded
final AnalysisContext context = new SdkAnalysisContext();
^
type error.
$include: '**/*_test.dart'
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error on line 23, column 5 of ../../../.pub-cache/hosted/10.10.3.91%588080/polymer_interop-1.0.0-rc.7/pubspec.yaml: Error loading transformer: 'package:code_transformers/src/dart_sdk.dart': malformed type: line 128 pos 39: type 'SdkAnalysisContext' is not loaded
final AnalysisContext context = new SdkAnalysisContext();
^
type error.
$include: test/**_test{.*,}.html
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error on line 26, column 5 of ../../../.pub-cache/hosted/10.10.3.91%588080/web_components-0.12.0+4/pubspec.yaml: Error loading transformer: 'package:code_transformers/src/dart_sdk.dart': malformed type: line 128 pos 39: type 'SdkAnalysisContext' is not loaded
final AnalysisContext context = new SdkAnalysisContext();
^
type error.
$include: '**/*_test.html'
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error on line 19, column 3 of ../../../.pub-cache/hosted/10.10.3.91%588080/polymer-1.0.0-rc.5/pubspec.yaml: Error loading transformer: 'package:code_transformers/src/dart_sdk.dart': malformed type: line 128 pos 39: type 'SdkAnalysisContext' is not loaded
final AnalysisContext context = new SdkAnalysisContext();
^
type error.
- web_components
飞镖--版本 Dart VM 版本:1.13.2(2016 年 1 月 5 日星期二 06:49:57)在“linux_x64”上
发布--版本 发布 1.13.2
也许有一些关于如何解决的建议?
pubspec.yaml 中的转换器部分:
transformers:
- polymer:
entry_points:
- web/index.html
- $dart2js:
minify: true
commandLineOptions:
- --trust-type-annotations
- --trust-primitives
- --enable-experimental-mirrors
发布服务打印:
[Info from Reflectable on web_tt_client|web/index.bootstrap.initialize.dart]:
Ignoring entry point that does not include the class `Reflectable`.
Build completed successfully
在 dartium 控制台中:
Uncaught Unhandled exception:
Bad state: Reflectable has not been initialized. Did you forget to add the main file to the reflectable transformer's entry_points in pubspec.yaml?
spa.dart 文件:
library spa;
import 'package:polymer/polymer.dart';
import 'package:web_tt_client/routers/routers.dart';
//Components
import 'package:web_tt_client/components/page_view/page_view.dart';
main() async {
await initPolymer();
await prepareViewElement();
await prepareRouters();
}
index.html 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<script src='https://cdn.firebase.com/js/client/2.2.7/firebase.js'></script>
<!-- JSON-Schema library tv4-->
<script src="packages/web_tt_client/js/tv4/tv4.min.js"></script>
<script src="packages/web_components/webcomponents.min.js"></script>
</head>
<body>
<page-view></page-view>
<br>
<div id="html_log" style="white-space: nowrap;"></div>
<script type="application/dart" src="spa.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
发布更新。更新版本的软件包适用于:
grinder 0.6.6+3 (0.8.0+2 available)
http_multi_server 1.3.2 (2.0.0 available)
http_parser 0.0.2+8 (2.0.0 available)
postgresql 0.2.14 (0.3.3 available)
redstone 0.5.21+1 (0.6.0+1 available)
redstone_mapper 0.1.13 (0.2.0-beta.1+1 available)
redstone_mapper_pg 0.1.1 (0.2.0-beta.2+2 available)
shelf 0.5.7 (0.6.4+3 available)
test 0.12.3+9 (0.12.7 available)
【问题讨论】:
-
你坚持使用旧的 Dart 和 Polymer 版本有什么原因吗?当前聚合物是
1.0.0-rc.15。 Dart stable 在 1.14.2 中可用 -
现在,我只想用任何较新的聚合物运行 bwu_datagrid。
-
尝试更新到最新版本,至少是 Polymer。只需将
polymer: '1.0.0-rc.5'更改为polymer: '^1.0.0-rc.5'。您也可以使用bwu_datagrid: '^0.1.0-dev.0'代替 Git 依赖项。 -
这并不是 HtmlImport 的工作原理
@HtmlImport('packages/web_tt_client/components/page_view/page_view.html')您可以通过导入带有普通 Dart 导入的 Dart 文件来导入 Polymer 元素。只有在 Polymer 元素 Dart 文件中,您才能使用@HtmlImport('page_view.html')导入元素 HTML,并且不再需要元素 HTML 中的 Dart 脚本标签。 -
有趣!没想到能解决问题。你可以回答你自己的问题。我认为这样做会很好。经过一段时间的冷静期后,您也可以接受自己的答案,然后该问题不再列为未回答。感谢您的反馈。