先運(yùn)行下,看當(dāng)前flutter 是否支持web項(xiàng)目, 如果沒(méi)有enable-web: true 則輸入 flutter config --enable-web

創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、澄城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為澄城等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
這時(shí)候項(xiàng)目中就包含了web文件夾.
輸入 flutter build web 就可以在build文件夾中生成web文件, 將它放到到tomcat或者其他容器就能訪問(wèn)了!
附上項(xiàng)目的測(cè)試連接:
參考:
常規(guī)操作,就是使用android studio編輯器,F(xiàn)lie--New--New Flutter Project
一路直接Next+Finish ,項(xiàng)目就創(chuàng)建成功了。
常規(guī)的運(yùn)行到手機(jī)或者模擬器上就不說(shuō)了,下面說(shuō)下運(yùn)行到web瀏覽器上。
如上圖,選擇最后一個(gè)是手機(jī)真機(jī)調(diào)試,選擇Chome或者Edge都可以運(yùn)行到web瀏覽器中,選擇好后點(diǎn)擊綠色運(yùn)行按鈕。
需要使用universal_html插件
universal_html是用來(lái)替代dart:html的,使用dart:html會(huì)有如下警告:
這是為了避免在Flutter Web插件包之外使用純web庫(kù)
導(dǎo)入:
選擇文件并上傳:
Flutter 2.5.1
在項(xiàng)目目錄下,在終端運(yùn)行以下命令:
Flutter 中文文檔 - Flutter 中文資源 | 在 Web 中展示圖片
在無(wú)法修改服務(wù)器配置的情況下可以使用html渲染。此外官方文檔中建議,如果顯示的圖片較多,使用html渲染性能更好
webview只支持移動(dòng)端,其它平臺(tái)嘗試打開(kāi)網(wǎng)頁(yè)
webview - web view for flutter web application - Stack Overflow
使用 package_info_plus | Flutter Package (pub.dev) 替換package_info
使用 --base-href ,可設(shè)置服務(wù)器子目錄
flutter web有三種渲染模式,auto 、html 和 canvaskit。
flutter build web命令默認(rèn)的渲染模式為auto,這種模式在移動(dòng)端使用html渲染,在pc端使用canvaskit渲染。
目前我的flutter版本是2.5.2,pc端瀏覽器使用canvaskit渲染時(shí)中文會(huì)出現(xiàn)短暫的亂碼(方塊叉號(hào)),像這樣:
我們可以指定渲染模式為html,就不會(huì)有這個(gè)問(wèn)題了,命令如下:
指定渲染模式為canvaskit的命令為:
2021.10.21:flutter web對(duì)中文的支持貌似不太好,在手機(jī)瀏覽器調(diào)試web項(xiàng)目時(shí),textfield hinttext有中文輸入會(huì)有卡頓bug
Flutter的webview常用的第三方庫(kù)有 flutter_webview_plugin 、 webview_flutter ,后者的文檔較少,暫先學(xué)習(xí)flutter_webview_plugin。
添加依賴
導(dǎo)入包
iOS端info.plist配置,其中NSAppTransportSecurity節(jié)點(diǎn)是為了支持http協(xié)議
一個(gè)簡(jiǎn)單的demo
要監(jiān)聽(tīng)鏈接跳轉(zhuǎn)的話,實(shí)現(xiàn)onUrlChanged即可
添加依賴
導(dǎo)入包
iOS端info.plist配置
一個(gè)簡(jiǎn)單的demo
但是在webview里點(diǎn)擊鏈接跳轉(zhuǎn)的時(shí)候,測(cè)試機(jī)有時(shí)會(huì)跳轉(zhuǎn)到系統(tǒng)瀏覽器上,并且點(diǎn)擊文本框無(wú)法彈出鍵盤(pán),交互性很弱。
二者共同的缺點(diǎn)是與javascript難以交互,目前只能實(shí)現(xiàn)Flutter-JS傳遞信息,還沒(méi)找到可以進(jìn)行完美交互的第三方庫(kù)。并且一些常見(jiàn)的協(xié)議還不支持,比如撥號(hào)和調(diào)用攝像頭等,期待后續(xù)完善。
網(wǎng)站名稱:flutterweb,flutterweb on kubernetes
文章路徑:http://chinadenli.net/article17/dsiocgj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、營(yíng)銷型網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、建站公司、網(wǎng)站營(yíng)銷、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)