Flutter?Widget?之package?mason實(shí)現(xiàn)詳解
正文
Flutter有個(gè)悠久的傳統(tǒng),便是運(yùn)行flutter create并刪除所有內(nèi)容,然后在所有標(biāo)準(zhǔn)樣板文件(boilerplate)當(dāng)中盡力復(fù)制和粘貼,這很費(fèi)時(shí)又容易出錯(cuò),而且比報(bào)稅更無趣,但是是否別無他法?

進(jìn)入Mason,這是用于歐快速組裝新項(xiàng)目或功能的軟件包,可以從成為“磚塊”的自定義模版中生成代碼,而這些模版根據(jù)你的項(xiàng)目的特定值呈現(xiàn)

使用Mason磚塊
例如想象一下,你正為Flutter新項(xiàng)目使用Mason磚塊的pubspec.yaml文件,非常舒適。
有了磚塊,看起來就像這樣
name: {{ project_name.snakeCasse() }}
dependencies:
flutter:
sdk: flutter
{{#uses_firebase}}
firebase_core: ^X.Y.Z
cloud_firestore: ^X.Y.Z
{{/uses_firebase}}
如果你使用的是Firebase,這將生成包含F(xiàn)irebase依賴項(xiàng)的pubspec.yaml文件
name: socksCatalog
dependencies:
flutter:
sdk: flutter
firebase_core: ^X.Y.Z
cloud_firestore: ^X.Y.Z
如果你不是使用Firebase,那些依賴項(xiàng)將會(huì)被跳過
name: socksCatalog
dependencies:
flutter:
sdk: flutter
但是Mason如何知道你的項(xiàng)目名稱或你是否使用Firebase?
進(jìn)入mason_cli 這與flutter_create相似
運(yùn)行mason make
但因用了Mason及自定義的磚塊而更靈活。安裝好后,用磚塊的名字運(yùn)行mason make
dart pub global activate mason_cli mason add --global <BRICK_NAME> mason make <BRICK_NAME>
Mason會(huì)讀取磚塊的manifest文件并問你一些問題
這里需要知道你的項(xiàng)目名稱,以及你是否使用Firebase

Mason_cli支持多種數(shù)據(jù)類型,包括字符串、布爾值、數(shù)字和枚舉
如此的話,還有個(gè)問題,我們?nèi)绾握业揭褂玫拇u塊名稱?
為此,請(qǐng)瀏覽brickhub.dev并查看公開可用的磚塊,世界各地的Flutter開發(fā)者已經(jīng)上傳它們自用的樣板文件以幫你節(jié)省時(shí)間

如果沒有找到自己喜歡的,請(qǐng)將自己喜歡的Flutter項(xiàng)目結(jié)構(gòu)轉(zhuǎn)為磚塊上傳以為將來所需節(jié)省時(shí)間。
順帶一提,磚塊大小可任意調(diào)整并非只能整個(gè)項(xiàng)目
/{{ feature_name}}
{{ feature_name }}_screen.dart
{{ feature_name }}_state_management.dart
你是否發(fā)現(xiàn)每次開始一個(gè)新功能時(shí)都會(huì)創(chuàng)建相同的啟動(dòng)文件?這種情況也很適合使用磚塊
/login
login_screen.dart
login_state_management.dart
利用Mason,你可比以往更快地編寫應(yīng)用程序中有趣的部分
如果想了解有關(guān)package:mason,或者關(guān)于Flutter的其他功能,請(qǐng)?jiān)L問pub.dev
以上就是Flutter Widget 之package mason實(shí)現(xiàn)詳解的詳細(xì)內(nèi)容,更多關(guān)于Flutter Widget package: mason的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Flutter交互并使用小工具管理其狀態(tài)widget的state詳解
- Flutter框架解決盒約束widget和assets里加載資產(chǎn)技術(shù)
- Flutter CustomPaint繪制widget使用示例
- Flutter?Widget開發(fā)之Focus組件圖文詳解
- Flutter Widget開發(fā)Shortcuts快捷鍵實(shí)例
- Flutter?Widget之NavigationBar使用詳解
- Flutter?Widget之FutureBuilder使用示例詳解
- Flutter Widget移動(dòng)UI框架使用Material和密匙Key實(shí)戰(zhàn)
相關(guān)文章
Android將圖片上傳到php服務(wù)器的實(shí)例代碼
這篇文章主要介紹了Android將圖片上傳到php服務(wù)器的實(shí)例代碼,需要的朋友可以參考下2017-07-07
Android添加指紋解鎖功能的實(shí)現(xiàn)代碼
當(dāng)開發(fā)的APP需要加密驗(yàn)證時(shí)可以考慮添加系統(tǒng)指紋解鎖功能。這篇文章主要介紹了Android添加指紋解鎖功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-07-07
Android 打開相冊(cè)選擇單張圖片實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 打開相冊(cè)選擇單張圖片實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android實(shí)現(xiàn)加載狀態(tài)視圖切換效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)加載狀態(tài)視圖切換效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
SurfaceView實(shí)現(xiàn)紅包雨平移動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了SurfaceView實(shí)現(xiàn)紅包雨平移動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07

