# [Flutter] Freezed 安裝及基礎使用 ##### 2023-09-18 post by sean. ##### 2023-09-19 edit by sean. :::info :bulb: 此篇文章為 Freezed 套件的基本安裝及使用,非詳細教學 ::: :::info :bulb: My Setting MacBook Pro 2020 (M1) 13" MacOS Ventura 13.4.1 Visual Studio Code 1.82.2 ::: ## 📦 安裝 flutter 套件 ### 1. [freezed🔗](https://pub.dev/packages/freezed) ### 2. [freezed_annotation🔗](https://pub.dev/packages/freezed_annotation/install) #### 在 pubspec.yaml 內找到 dependencies 加入. ``` dependencies: freezed: ^2.4.2 freezed_annotation: ^2.4.1 ``` :::success 建議直接在 dependencies 這邊直接引用最新版本就好, 否則報錯也是要再去更新版本. ::: ### 3. [build_runner🔗](https://pub.dev/packages/build_runner) #### 在 pubspec.yaml 內找到 dev_dependencies 加入. ``` dev_dependencies: build_runner: ^2.4.6 ``` :::success 記得加在 dev_dependencies 底下. ::: #### ⚙️以下兩個套件非必要, 有要用 freezed 類別去解 json 再加入 ### 4. [json_annotation🔗](https://pub.dev/packages/json_annotation/install) ### 5. [json_serializable🔗](https://pub.dev/packages/json_serializable/install) ``` dependencies: json_annotation: ^4.8.1 dev_dependencies: json_serializable: ^6.7.1 ``` :::success 一個加在 dependencies 底下. 一個加在 dev_dependencies 底下. ::: :::info :bulb: 若使用 terminal 安裝 freezed, 在後續使用過程會發現引用的套件都需要再次更新, 不如一開始就直接使用 dependencies 安裝需要引用的套件. ::: ## 📦 安裝 VS Code 套件 :::info :bulb: 在 VS Code 按下 shift+cmd+p 打開 commands,    輸入 install extension 打開 模組搜尋. ::: ### 1. [Freezed🔗](https://marketplace.visualstudio.com/items?itemName=blaxou.freezed) ![](https://hackmd.io/_uploads/r1w58sB16.png) ### 2. [Build Runner🔗](https://marketplace.visualstudio.com/items?itemName=GaetSchwartz.build-runner) ![](https://hackmd.io/_uploads/SJVj8jSyp.png) #### 恭喜~到這裡安裝的步驟就結束了! ## 🔧 基礎使用 #### 在 VS Code 按下 cmd+shift+p, 打開 commands. #### 選擇 Generate a new Freezed class. ![](https://hackmd.io/_uploads/SyuNcuL1T.png) #### 這裡輸入我們要創建的 class 名稱後點擊 Enter 確認. ![](https://hackmd.io/_uploads/BkmYc_8ya.png) #### 選擇是否需要加入 toJson/fromJson 函式. ![](https://hackmd.io/_uploads/HkK09O8ka.png) #### 選擇文件存放的資料夾. ![](https://hackmd.io/_uploads/r13fod8kT.png) #### 完成後, VS Code 會跳出錯誤提示, 不用擔心. ![](https://hackmd.io/_uploads/ry18j_I1T.png) #### 開啟剛剛創建的 freezed 文件, 會看到錯誤. #### 此時藍色框框內的檔案還尚未創建. #### 按下 cmd+shift+b, 啟動 build_runner. ![](https://hackmd.io/_uploads/H1pmRuL1p.png) #### 完成後會自動生成剛剛缺少的檔案. ![](https://hackmd.io/_uploads/rJcw1tL1a.png) ![](https://hackmd.io/_uploads/By2K1F8ka.png) :::info :bulb: g.dart 的檔案為有使用 json 功能才會產生. ::: :::info :bulb: cmd+shift+p/b 的快速功能皆為安裝 VS Code extension 才能使用, 若無安裝 extension 可能需要使用 terminal 手動輸入指令完成. ::: #### freezed 安裝及基礎使用到這裡結束, 之後有用到此套件功能的話再來看看需不需要寫文件. ### 🔗 參考資料 #### [freezed Github](https://github.com/rrousselGit/freezed/tree/master) #### [freezed pub.dev](https://pub.dev/packages/freezed)