Dart 2 Web 應用遷移指南
本章將指引你完成從 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 和 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 應用的專案檔案:
-
pubspec.yaml
, 看下面的詳情。 - HTML 檔案中的
<script src="foo.dart"...>
元素, 例如web/index.html
。 看下面的詳情。 - Dart 程式碼,由於Dart 語言和庫的改變。
對於遷移應用的完整例子,比較 angular-examples 應用的任何一個master
和5-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 遷移你的程式碼。
- 更新日誌: 列出製作本網站的文件和示例的變化。
相關文章
- Android O 遷移應用官方指南Android
- 應用遷雲之映象遷移-(1)概述
- webpack 4遷移指南Web
- Web Server的遷移WebServer
- 應用遷移至 Android P 操作指南Android
- Web應用程式完全測試指南Web
- AFNetworking 3.0遷移指南
- WSL2遷移
- CNoder 應用遷移記 | 掘金技術徵文
- Flutter Android 1.12 遷移指南FlutterAndroid
- Gradle Kotlin DSL遷移指南GradleKotlin
- iOS Core Data 資料遷移 指南iOS
- WordPress 遷移外掛終極指南
- “遷移策略+新容器執行時”應對有狀態應用的冷熱遷移挑戰
- Google Web應用開發指南第一章:什麼是Web應用?GoWeb
- 傳統 Web 框架部署與遷移Web框架
- 構建現代Web應用的安全指南Web
- 《Web應用安全權威指南》讀後有感Web
- 推薦!Web中文字型應用指南Web
- 新的ASP.NET Core 遷移指南ASP.NET
- ESXI 遷移至KVM (V2V遷移)
- 基於HT for Web的Web SCADA工控移動應用Web
- 基於HT for Web的Web SCADA移動工控應用Web
- Dore 混合應用框架 —— 基於 React Native 的混合應用遷移方案框架React Native
- 虛擬機器遷移技術原理與應用虛擬機
- javascirpt div 移動應用2Java
- 移動Web富應用框架RAIS釋出Web框架AI
- 為什麼移動Web應用程式很慢Web
- Sky:一個基於 Dart 的高效能移動應用 UI 框架DartUI框架
- 用Rman 異機遷移
- V2P 的遷移
- Flutter 開發桌面應用——遷移已有App應用到桌面版FlutterAPP
- [譯]構建現代Web應用的安全指南Web
- Web 應用伺服器端渲染入門指南Web伺服器
- 跨平臺遷移oracle資料庫指南Oracle資料庫
- 0 元徹底掌握遷移學習原理及應用遷移學習
- Django應用資料庫從MySQL到PostgreSql的遷移Django資料庫MySql
- 使用 WebSphere CloudBurst 進行應用程式環境遷移(一)WebCloud