Dart 2 Web 應用遷移指南

weixin_34249678發表於2018-04-26

本章將指引你完成從 Dart 1.x web 應用到 Dart 2 的遷移。由於以下原因,這些改變是必要的:

工具

Dart 2 的 web 應用開發環境不同於 Dart1.x。以下是亮點:

Dart 1.x Dart 2
Dartium, content shell Chrome 和 dartdevc
pub build pub run build_runner build. 檢視: build_runner build
pub serve pub run build_runner serve. 檢視: build_runner serve
pub run angular_test pub run build_runner test -- -p chrome. 檢視: Running tests
pub transformers build package transformers. 檢視: Transforming code

程式碼

要遷移到 Dart 2,你需要編輯你的 web 應用的專案檔案:

對於遷移應用的完整例子,比較 angular-examples 應用的任何一個master5-dev分支,如這些:

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

例如,這裡 angular-examples/quickstart/pubspec.yaml 是應用這些改變後的差異。

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>

這裡 angular-examples/quickstart/web/index.html 是應用了這些改變後的差異。

額外的資源

  • Dart 2 更新:關於 Dart 2 中變化的資訊,以及如何從 Dart 1.x 遷移你的程式碼。
  • 更新日誌: 列出製作本網站的文件和示例的變化。

相關文章