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 遷移你的程式碼。
- 更新日誌: 列出製作本網站的文件和示例的變化。
相關文章
- webpack 4遷移指南Web
- 應用遷移至 Android P 操作指南Android
- Gradle Kotlin DSL遷移指南GradleKotlin
- Flutter Android 1.12 遷移指南FlutterAndroid
- WSL2遷移
- CNoder 應用遷移記 | 掘金技術徵文
- WordPress 遷移外掛終極指南
- “遷移策略+新容器執行時”應對有狀態應用的冷熱遷移挑戰
- 傳統 Web 框架部署與遷移Web框架
- Dore 混合應用框架 —— 基於 React Native 的混合應用遷移方案框架React Native
- Kubernetes 跨 StorageClass 遷移 Persistent Volumes 完全指南
- 新的ASP.NET Core 遷移指南ASP.NET
- 構建現代Web應用的安全指南Web
- ESXI 遷移至KVM (V2V遷移)
- 虛擬機器遷移技術原理與應用虛擬機
- 移動應用變現AdMob入門指南(上)
- Flutter 開發桌面應用——遷移已有App應用到桌面版FlutterAPP
- [譯]構建現代Web應用的安全指南Web
- Web 應用伺服器端渲染入門指南Web伺服器
- 0 元徹底掌握遷移學習原理及應用遷移學習
- 基於HTML5的移動Web應用HTMLWeb
- 構建高效的 Python Web 應用:最佳實踐指南PythonWeb
- 用rman遷移資料庫資料庫
- AWS伺服器自動化遷移工具指南伺服器
- Google :2021移動應用全球化指南(附下載)Go
- 6- ABC遷移大資料2大資料
- Taro原理分析、遷移指南及開發注意事項
- Sentry 開發者貢獻指南 - 資料庫遷移資料庫
- 高效能圖表LightningChart JS 遷移指南介紹GCJS
- 用prebuild mv 方法遷移資料Rebuild
- Dart web開發(1)DartWeb
- Gram格拉姆矩陣在風格遷移中的應用矩陣
- docker 容器操作、應用部署、mysql,redis,nginx、遷移與備份、DockerfileDockerMySqlRedisNginx
- 遷移學習核心技術開發與應用研修班遷移學習
- 分散式 PostgreSQL 叢集(Citus)官方教程 - 遷移現有應用程式分散式SQL
- 《Flask Web 開發指南 pt.2》FlaskWeb
- Go Web 程式設計--超詳細的模板庫應用指南GoWeb程式設計
- Spring Cloud Alibaba遷移指南(二):零程式碼替換 EurekaSpringCloud