本章将指引你完成从 Dart 1.x web 应用到 Dart 2 的迁移。由于以下原因,这些改变是必要的:
-
:
- Chrome 代替 Dartium 和 content-shell.
- 一个新的编译系统代替
pub build
,pub serve
, pub transformers.
- Dart 2
工具
Dart 2 的 web 应用开发环境不同于 Dart1.x。以下是亮点:
Dart 1.x | Dart 2 |
---|---|
Dartium, content shell | Chrome 和 |
pub build |
pub run build_runner build . 查看:
|
pub serve |
pub run build_runner serve . 查看:
|
pub run angular_test |
pub run build_runner test -- -p chrome . 查看:
|
pub transformers | package transformers. 查看: |
代码
要迁移到 Dart 2,你需要编辑你的 web 应用的项目文件:
-
pubspec.yaml
, - HTML 文件中的
<script src="foo.dart"...>
元素, 例如web/index.html
。 - Dart 代码,由于的改变。
Pubspec
对你的pubspec.yaml
文件做出如下改变:
- 添加新的
dev_dependencies:
build_runner: ^0.8.2
-
build_test: ^0.10.1
,如果要运行测试 build_web_compilers: ^0.3.6
- 移除
dev_dependencies:
browser
dart_to_js_script_rewriter
- 升级
test
版本 0.12.30 或更高;它默认使用 chrome 做测试。 - 移除所有的
transformers:
angular
dart_to_js_script_rewriter
test/pub_serve
HTML 中的 script 元素
使用<script>
元素最常见的示例文件是web/index.html
。你需要做出如下改变:
- 移除
<script defer src="packages/browser/dart.js"></script>
- 使用
<script defer src="foo.dart.js"></script>
代替<script defer src="foo.dart" type="application/dart"></script>
额外的资源
- 关于 Dart 2 中变化的信息,以及如何从 Dart 1.x 迁移你的代码。
- : 列出制作本网站的文档和示例的变化。