# 前言
我們在跨平臺專案里 import 'dart:html' 會有警告,大致情況如下,直接編譯出 web 沒有問題
但是跑 android/ios 就不行了,會在編譯階段 error,效果大致如下:

# 解決
Google 官方的意思是要做區分,我們先看看官方的要求:

那么如何做區分呢?可以參考下面這個方法:
import 'xxx' if (dart.library.html) 'xxx:xxx'
太麻煩了,讓我們來點簡單的
# 叛逆
畢竟是自己的小專案,寫得快必殺都好,我們直接用一個 third_party 解決:
dependencies:
universal_html: ^1.2.1
注意這里的版本必須保持一致,然后我們就可以用這個庫里的 html.dart 來代替 dart:html.dart 具體原理感興趣可以看原始碼
import 'package:universal_html/html.dart' as html;
然后就跟 dart:html 一樣使用啦,但是編譯時會報錯( null-safety 不安全 )
# 戰勝
如果是 Android studio ,需要如下操作:
Run --> Edit Configurations --> Add Additional Run args --> --no-sound-null-safety
給個圖片方便大家理解:

如果是 VSCode 或者命令列運行 :
flutter run --no-sound-null-safety
具體可以參考:Cannot run with sound null safety because dependencies don’t support null safety
# 總結
- 成果如下,完美運行:個人官網:hornhuang.github.io
flutter_web太新了,一個坑接著一個,求個三連唄~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/299404.html
標籤:區塊鏈
上一篇:三,用戶管理微服務(library-user-service)
下一篇:幣王Biking9月11日資訊
