Flutter Web環(huán)境搭建

自從谷歌I/O2019發(fā)布Flutter web版本之后烫扼,有好多開發(fā)者嘗試搭建環(huán)境,我也不例外牌借,先前在公司電腦上搭建過一次度气,只是沒有總結(jié)出教程,趁著周末在家無聊,再次在家里電腦搭建環(huán)境,由于官方文檔中推薦是Visual Studio Code創(chuàng)建的項(xiàng)目袄秩,所以我就順便研究了完全用命令行創(chuàng)建web項(xiàng)目。

本文在Mac環(huán)境下完成院领,windows環(huán)境大同小異,可作為參考够吩。

官方英文文檔:https://github.com/flutter/flutter_web

To use the Flutter SDK with the flutter_web preview make sure you have upgraded Flutter to at least v1.5.4 by running flutter upgrade from your machine.
在使用flutter_web預(yù)覽版之前比然,要保證電腦中安裝的Flutter版本是大于1.5.4。

以下是我機(jī)器的flutter doctor信息:

Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale zh-Hans-CN)
[?] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[?] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
[?] Android Studio (version 3.4)
[?] VS Code (version 1.34.0)
[?] Connected device (1 available)
? No issues found!

搭建步驟

1周循、從github上面把flutter_web項(xiàng)目克隆到本地

git clone https://github.com/flutter/flutter_web.git
存放目錄隨意强法,不過建議存放目錄跟flutter sdk同級(jí),日后更新維護(hù)好找

2湾笛、安裝flutter_web的編譯工具webdev

//環(huán)境變量只配置了flutter sdk而沒有配置dart sdk
flutter pub global activate webdev
//環(huán)境變量已經(jīng)配置了dart sdk
pub global activate webdev

安裝過程可能出現(xiàn)如下信息饮怯,此為網(wǎng)友在windows上配置時(shí)出現(xiàn)的

Resolving dependencies…
It looks like pub.dartlang.org is having some trouble
Pub will wait for a while before trying to connect again.
Got socket error trying to find package webdev at https://pub.dartlang.org.
pub finished with exit code 69

此問題我沒碰到過,如果出現(xiàn)上訴問題是因?yàn)榫W(wǎng)絡(luò)問題嚎研,建議多嘗試幾次硕淑。

如果出現(xiàn)如下信息,則安裝成功

Precompiling executables…
Precompiled webdev:webdev.
Installed executable webdev.
Activated webdev 2.0.6

上述信息中可能有一個(gè)Warning提示需要配置環(huán)境變量嘉赎,按提示將$HOME/.pub-cache/bin配置到環(huán)境變量即可

可以嘗試執(zhí)行命令

//環(huán)境變量只配置了flutter sdk而沒有配置dart sdk
flutter pub global run webdev
//環(huán)境變量已經(jīng)配置了dart sdk
 pub global run webdev

到此環(huán)境搭建成功了。

3于樟、創(chuàng)建和啟動(dòng)項(xiàng)目

3.1使用現(xiàn)有項(xiàng)目

flutter_web目錄下有examples幾個(gè)demo項(xiàng)目公条,比如:hello_world

cd <flutter_web目錄>/examples/hello_world

執(zhí)行

flutter pub upgrade 或 pub upgrade
或
flutter pub get 或 pub get

如果出現(xiàn)

RandyWeideMacBook-Pro:hello_world wei$ flutter pub get
! flutter_web 0.0.0 from path ../../packages/flutter_web                
! flutter_web_ui 0.0.0 from path ../../packages/flutter_web_ui          
Running "flutter packages get" in hello_world...                   21.9s

說明項(xiàng)目配置成功了,然后就是啟動(dòng)本地服務(wù)

//環(huán)境變量只配置了flutter sdk而沒有配置dart sdk
flutter pub global run webdev serve
//環(huán)境變量已經(jīng)配置了dart sdk
webdev serve

出現(xiàn)以下信息就是成功了

RandyWeideMacBook-Pro:hello_world wei$ flutter pub global run webdev serve
[INFO] Building new asset graph completed, took 1.5s
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms
[INFO] Serving `web` on http://localhost:8080
[INFO] Running build completed, took 18.3s
[INFO] Caching finalized dependency graph completed, took 201ms
[INFO] Succeeded after 18.5s with 556 outputs (3217 actions)
[INFO] ------------------------------------------------------------------------

然后就可以在瀏覽器使用信息中的地址 http://localhost:8080 訪問到了迂曲。

3.2 創(chuàng)建新項(xiàng)目

官方給兩種途徑創(chuàng)建新項(xiàng)目
1)使用Visual Studio Code靶橱,具體配置Flutter Dart插件就不多說。使用命令面板Flutter: New Web Project路捧,就可以創(chuàng)建一個(gè)新項(xiàng)目了关霸,等配置完成后,按F5或者Debug -> Start Debugging杰扫,就可以啟動(dòng)服務(wù)并自動(dòng)打開瀏覽器队寇。

2)使用IntelliJ,沒有研究

3)使用Android Studio章姓,因?yàn)楸旧砦沂情_發(fā)安卓的佳遣,習(xí)慣使用Studio進(jìn)行開發(fā)识埋。然而studio并不能創(chuàng)建一個(gè)普通的dart項(xiàng)目,或者flutter web項(xiàng)目零渐,相信后期官方一定是能支持的窒舟。

目前想使用studio寫代碼的,可以使用Visual Studio Code诵盼,創(chuàng)建完項(xiàng)目完之后惠豺,再用Android Studio打開項(xiàng)目,也是可以的风宁。

不過對(duì)于沒有安裝Visual Studio Code的同學(xué)來說的話洁墙,還可以用命令行來創(chuàng)建項(xiàng)目。

命令行創(chuàng)建web項(xiàng)目需要安裝另一個(gè)工具

//環(huán)境變量只配置了flutter sdk而沒有配置dart sdk
flutter pub global activate stagehand
//環(huán)境變量已經(jīng)配置了dart sdk
pub global activate stagehand

跟安裝webdev一樣
安裝成功后可以執(zhí)行下面命令查看幫助

flutter pub global run stagehand

Stagehand will generate the given application type into the current directory.
usage: stagehand <generator-name>
    --[no-]analytics    Opt out of anonymous usage and crash reporting.
-h, --help              Help!
    --version           Display the version for stagehand.
    --author            The author name to use for file headers.
                        (defaults to "<your name>")

Available generators:
  console-full        - A command-line application sample.
  flutter-web-preview - A simple Flutter Web app.
  package-simple      - A starting point for Dart libraries or applications.
  server-shelf        - A web server built using the shelf package.
  web-angular         - A web app with material design components.
  web-simple          - A web app that uses only core Dart libraries.
  web-stagexl         - A starting point for 2D animation and games.

可以看到這個(gè)工具可以按照7種模版創(chuàng)建項(xiàng)目杀糯,我們使用的是flutter-web-preview扫俺,其他模版有興趣的可以自行研究。

創(chuàng)建一個(gè)項(xiàng)目目錄固翰,然后

cd 目錄

執(zhí)行命令

//環(huán)境變量只配置了flutter sdk而沒有配置dart sdk
flutter pub global run stagehand flutter-web-preview
//環(huán)境變量已經(jīng)配置了dart sdk
stagehand flutter-web-preview

一個(gè)web項(xiàng)目就創(chuàng)建完成了狼纬,可以使用studio打開項(xiàng)目,使用flutter pub get配置好完之后骂际,可以進(jìn)行正常的代碼了疗琉。
后續(xù)的項(xiàng)目配置和服務(wù)啟動(dòng)都需要命令行操作,參考3.1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末歉铝,一起剝皮案震驚了整個(gè)濱河市盈简,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌太示,老刑警劉巖柠贤,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異类缤,居然都是意外死亡臼勉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門餐弱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宴霸,“玉大人,你說我怎么就攤上這事膏蚓∑靶唬” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵驮瞧,是天一觀的道長(zhǎng)氓扛。 經(jīng)常有香客問我,道長(zhǎng)论笔,這世上最難降的妖魔是什么幢尚? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任破停,我火速辦了婚禮,結(jié)果婚禮上尉剩,老公的妹妹穿的比我還像新娘真慢。我一直安慰自己,他們只是感情好理茎,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布黑界。 她就那樣靜靜地躺著,像睡著了一般皂林。 火紅的嫁衣襯著肌膚如雪朗鸠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天础倍,我揣著相機(jī)與錄音烛占,去河邊找鬼。 笑死沟启,一個(gè)胖子當(dāng)著我的面吹牛忆家,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播德迹,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼芽卿,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了胳搞?” 一聲冷哼從身側(cè)響起卸例,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肌毅,沒想到半個(gè)月后筷转,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悬而,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年旦装,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摊滔。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖店乐,靈堂內(nèi)的尸體忽然破棺而出艰躺,到底是詐尸還是另有隱情,我是刑警寧澤眨八,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布腺兴,位于F島的核電站,受9級(jí)特大地震影響廉侧,放射性物質(zhì)發(fā)生泄漏页响。R本人自食惡果不足惜篓足,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闰蚕。 院中可真熱鬧栈拖,春花似錦、人聲如沸没陡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盼玄。三九已至贴彼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間埃儿,已是汗流浹背器仗。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留童番,地道東北人精钮。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像妓盲,于是被迫代替她去往敵國(guó)和親杂拨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容