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)稅更無(wú)趣,但是是否別無(wú)他法?
進(jìn)入Mason,這是用于歐快速組裝新項(xiàng)目或功能的軟件包,可以從成為“磚塊”的自定義模版中生成代碼,而這些模版根據(jù)你的項(xiàng)目的特定值呈現(xiàn)
使用Mason磚塊
例如想象一下,你正為Flutter新項(xiàng)目使用Mason磚塊的pubspec.yaml文件,非常舒適。
有了磚塊,看起來(lái)就像這樣
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ì)被跳過(guò)
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文件并問(wèn)你一些問(wèn)題
這里需要知道你的項(xiàng)目名稱,以及你是否使用Firebase
Mason_cli支持多種數(shù)據(jù)類型,包括字符串、布爾值、數(shù)字和枚舉
如此的話,還有個(gè)問(wèn)題,我們?nèi)绾握业揭褂玫拇u塊名稱?
為此,請(qǐng)瀏覽brickhub.dev并查看公開可用的磚塊,世界各地的Flutter開發(fā)者已經(jīng)上傳它們自用的樣板文件以幫你節(jié)省時(shí)間
如果沒(méi)有找到自己喜歡的,請(qǐng)將自己喜歡的Flutter項(xiàng)目結(jié)構(gòu)轉(zhuǎn)為磚塊上傳以為將來(lái)所需節(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問(wèn)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日期選擇器實(shí)現(xiàn)年月日三級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android日期選擇器實(shí)現(xiàn)年月日三級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Android?NotificationListenerService通知監(jiān)聽服務(wù)使用
這篇文章主要為大家介紹了Android?NotificationListenerService通知監(jiān)聽服務(wù)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android顯式啟動(dòng)與隱式啟動(dòng)Activity的區(qū)別介紹
為什么要寫顯式啟動(dòng)與隱式啟動(dòng)Activity,Android的Acitivity啟動(dòng)大致有兩種方式:顯式啟動(dòng)與隱式啟動(dòng),下面分別介紹2014-09-09Ubuntu下android adb環(huán)境變量配置方法
這篇文章主要介紹了Ubuntu下android adb環(huán)境變量配置方法,本文給出了操作步驟,按步驟操作即可,需要的朋友可以參考下2015-04-04基于adbkit的android設(shè)備管理(精簡(jiǎn)版stf)
這篇文章主要為大家介紹了基于adbkit的android設(shè)備管理(精簡(jiǎn)版stf)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Android實(shí)現(xiàn)跳動(dòng)的小球加載動(dòng)畫效果
Android中有各式各樣的加載動(dòng)畫,大家多多少少都見(jiàn)過(guò),比如用過(guò)美團(tuán)客戶端的用戶對(duì)美團(tuán)那個(gè)加載小人的動(dòng)畫印象很深刻,一個(gè)可愛(ài)的小人在那拼命的跑。這樣的動(dòng)畫實(shí)現(xiàn)其實(shí)還有很多,今天這里就來(lái)實(shí)現(xiàn)一個(gè)跳動(dòng)的小球效果。有需要的可以參考借鑒。2016-08-08android開發(fā)設(shè)計(jì)模式之——單例模式詳解
本篇文章主要介紹了android開發(fā)設(shè)計(jì)模式之——單例模式詳解,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11