最近想對專案的裡面的route進行改造,看了下阿里的路由註解, 因為沒法處理統一處理Package裡面的頁面.所以想自己來寫一套。
思考了下,無非是讀檔案寫檔案,本來考慮用C#直接寫一個工具的,但是最近看下成為一個優秀程式設計師的101個小建議中提到 不要選擇熟悉的技術,而應該是正確的⭐。 跟大佬瞭解了一下,決定使用dart寫一個命令列應用程式,還可以跨端執行。
美好的一天從抄作業開始,這是財經龍大佬寫的Pub Global,按照大佬的步驟,我在窗戶兒(Windows)上面也走了下流程,下面我把要注意的說一下。
週末寫快寫完的草稿丟失,站長大人也找不回來,好心酸,憑著記憶和韌性又重新寫了一遍,心酸好睏
環境變數
Windows10上面搜尋環境變數,如下圖
在Path中增加Dart的路徑,我這裡是1.1.5版本。
命令列輸入
dart --version
和 pub --version
驗證是否環境準備妥當
安裝dart腳手架
stagehand,其實也是一個dart的命令列應用程式,幫助你建立命令列應用
在Path當中新增pub cache的路徑,做flutter的小夥伴應該已經配置過了
C:\Users\xxxx\AppData\Roaming\Pub\Cache\bin
命令列輸入
pub global activate stagehand
啟用stagehand
安裝完畢之後可以在你的賬號的AppData裡面找到它
其實你不安裝這個也行,用Android Studio建立一個Package,然後把flutter sdk從yaml檔案中移除就好了。安裝這個就是為了方便建立一個命令列程式。
建立專案
cd 到你的建立的一個目錄裡面,執行
stagehand console-full
然後執行下pub get
,把依賴都下載一下。
專案結構
用vscode開啟
入口為main.dart,點選debug執行,列印42
修改main.dart,列印引數,使用命令列執行
dart bin/main.dart 1234 5678
內褲
測試,Run和Debug可以點選,很明顯6*7=42,所以測試會通過
本地安裝
執行下面命令,./表示當前目錄,你也可以寫絕對路徑
pub global activate --source path ./
安裝完畢之後可以在你的賬號的AppData裡面找到它
執行
pub global run pub_demo
我們在bin下面增加一個pub_demo.dart,增加main入口,並且直接執行main.dart的main函式
然後我們重新安裝一下,再次執行
生成應用程式
在pubspec.yaml檔案中加入
executables:
pub_demo:
複製程式碼
然後執行安裝命令
pub global activate --source path ./
Installed executable pub_demo.
現在你就可以直接執行
pub_demo
釋出
你可以通過命令將你的包釋出到pub上面去,記得開啟那個牆。。。
flutter packages pub publish --server=https://pub.dartlang.org
這裡我簡單做了一個assets_generator命令列工具,用來自動生成yaml檔案中關於assets的配置資訊的。 前景是我的混合開發專案,在ios端第一次安裝啟動的時候資原始檔顯示不出來,必須殺掉程式重新進才行。聽網友說不能直接寫到資料夾,要定義到檔案。我的乖乖那多麻煩,所以就想著寫了這個工具,然後並沒有卵用(最後發生資原始檔的個數居然會影響,我相信這一定是一個bug)。
我釋出上去之後,你可以這樣使用,在pubspec.yaml中引入
dev_dependencies:
assets_generator: ^1.1.1
複製程式碼
然後get一下依賴
然後執行,就可以自動pubspec.yaml中生成相關配置資訊了。
assets_generator path=xxxx type=0
Parameter | Description | Default |
---|---|---|
path | 專案路徑 | 如果不加預設為當前路徑 |
type | 生成資訊方式: 0 = 資料夾 ; 1 = 檔案 | 0 |
結語
命令列應用程式還是蠻簡單的,跟C#裡面的命令列程式沒什麼區別,適合做一些指令碼,讓雙手釋放出來。
最後放上 assets_generator,歡迎加入Flutter Candies,一起生產可愛的Flutter 小糖果(QQ群:181398081)
最最後放上Flutter Candies全家桶,真香。