概要
どうも、@daiki1003です!freezed
パッケージを使ってbuild_runner
を実行してるのにg.dart
が生成されない…!
本記事はそんな時のために確かめるべきところを書いてみましたので
ぜひこれと照らし合わせてみてください!
また、最後にスニペットも公開しているのでぜひ使ってみてくださいね🙌
もし、解決したら心の中でさんきゅって思ってくれたら嬉しいです笑
成功するサンプルコード (sample_model.dart
)
json_serializable
たぶん、一番多いのがこれじゃないかな〜なんて思ったりもします。
pubspec.yaml
にjson_serializable
の
追加をし忘れていないでしょうか?
僕が最近、生成されないな〜って思った時はこれが原因でした。
pubspec.yaml
のdependencies
に以下を追加しましょう。
json_serializable: ^6.1.5
.fromJson を記述していない
例えばSampleModel
というクラスを定義したときに、
factory SampleModel.fromJson(Map<String, dynamic> json) => _$SampleModelFromJson(json);
という記述が必要になります。
partディレクティブを記述していない
freezed
ファイルを生成する際には、part '${file_name}.freezed.dart';
という記述が必要になりますが、同様にg
ファイルを生成する際には、part '${file_name}.g.dart';
という記述が必要になります。
その他
その他、雑多に書いていきます。
lib/かbin/ディレクトリ内にファイルが存在するか
何も指定しない場合、lib/
かbin/
配下のファイルのみ生成対象となります。
pubspec.lockを削除し、再度パッケージをインストールする
タイトルに統一感がなくて申し訳ないですが、pubspec.lock
を削除→flutter pub get
で
直ることもあるようです。
上記以外で、直ったなどの報告があれば教えていただけると嬉しいです!
最後に
VSCodeなどで以下のスニペットなどを登録しておくと良いと思います 👍
コピペするだけで使えます!
Twitterフォローお願いします
「次回以降も記事を読んでみたい!」「この辺分からなかったから質問したい!」
そんな時は、是非Twitter (@daiki1003)やInstagram (@ashdik_flutter)のフォローお願いします♪
Twitterコミュニティ参加お願いします
Twitterコミュニティ「Flutter lovers」を開設しました!参加お待ちしております😁
☕️ Buy me a coffee
また、記事がとても役に立ったと思う人はコーヒーを奢っていただけると非常に嬉しいです!
コメント
[…] https://blog.dalt.me/3268 […]