Flutter Web的配置、啓動、打包

Flutter Web目前還是預覽版,還有些不是跟移動端那麼成熟,小翼在這裏經過自己的努力調試了一下。廢話不多說,直接擼碼:

Flutter Web配置:

1、首先flutterSDK的版本要1.5.4及以上,DartSDK版本要2.3.0及以上。

直接下載flutterSDK就行了,它包含了DartSDK;

下載flutterSDK跟flutter移動端的一樣,不懂環境的的請看《flutter移動端的環境配置和啓動》這一篇,這裏直接在Git裏面克隆flutterSDK;

git clone -b beta https://github.com/flutter/flutter.git

配置環境也是一樣的。這裏就不說了

 

2、配置DartSDK環境:在flutterSDK裏面的..flutter\bin\cache\dart-sdk;

右鍵我的電腦-->屬性-->高級系統屬性-->環境變量-->找到PATH,點擊編輯-->黏貼這個路徑:..flutter\bin\cache\dart-sdk\bin;

3、下載IDEA開發工具(VS Code也可以開發,配置跟IDEA差不多,這裏以IDEA爲示例),啓動添加flutter插件和dart插件,配置FlutterSDK路徑,如下:

安裝 Dart 和 flutter 插件

我們要給 IDEA 安裝 dart 和 flutter 插件。安裝完成後就可以開始我們的 flutter web之旅了。

新建一個 Flutter Web 項目

安裝完成Dart 和 flutter 環境後,重啓 IDEA後就可以快速的搭建一個 Flutter web 項目。

選擇 新建 Dart項目,創建一個 Flutter Web App。

項目創建好,要等待 依賴包的下載。

接着安裝 webdev 工具,在IDEA中選擇命令窗口,運行下面的命令。

$ flutter packages pub global activate webdev

安裝完成後,我們要找到 flutter 的安裝目錄(這個目錄在運行窗口中可以找到,安裝工具的最後完成的時候有說明。),在目錄的 .pub-cache/bin 中會找到我們下載的 webdev

將路徑 $HOME/.pub-cache/bin 添加到環境變量中。

設置完成後在終端輸入 webdev 看看是否成功

 

坑:在一些終端上運行該命令會提示該命令不存在,比如 cmd,Fluent。

配置成功後就可以開始下一步了。

運行項目

首先確保 IDEA 將所需要的依賴正常安裝完成。

在IDEA終端輸入 webdev serve,當編譯完成後,打開 http://localhost:8080, 如圖,顯示出 hello world

最後說明:

項目結構

項目已經運行,簡單的看一下項目主要結構

.dart_tool 是項目打包運行編譯生成的文件

lib 是我們主要要寫的項目代碼和原有的 Flutter 基本一致

web 包含一個 html 文件和一個 main.dart

index.html 引用了 web/main.dart 編譯生成的 js 文件

而 web/main.dart 調用了 lib/main.dart,我們寫代碼基本就可以修改lib目錄下的代碼進行運行。

與 Flutter 的不同

默認包名不同,

加載的默認UI包名不同,原flutter 的包爲 import 'package:flutter/material.dart' 而 web 項目爲 import 'package:flutter_web/material.dart' 多了一個 _web。

圖標顯示問題

在 web 項目上的圖標無法顯示。

項目不報錯,IDEA的側邊欄也顯示該圖標,但是在頁面上卻無法顯示

3、打包

如果你想查看release版本,可以運行

flutter pub global run webdev serve -r

如果你想發佈製品,則可以運行

flutter pub global run webdev build

這會在項目的根路徑下生成一個build文件夾,裏面包含可以部署到服務器上的文件,如下圖所示:

其他

簡單的體驗後,基本可以用flutter開發頁面,目前來說還是有一些問題的,比如說上述的圖標加載問題,而且如果將移動端的代碼複製過來,除了包名要有修改外,很多第三方包還是對 web 不支持。編譯速度也沒有移動端那樣快,相較於傳統的web開發,編譯速度也是一個問題。

簡單的將原有的一個APP進行了一下遷移,基本涉及到具體的業務方法的地方都要重寫。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章