【Flutter x freezed】*.g.dartが生成されないときに確かめる

Dart

概要

どうも、@daiki1003です!

freezedパッケージを使って
build_runnerを実行してるのにg.dartが生成されない…!

本記事はそんな時のために確かめるべきところを書いてみましたので
ぜひこれと照らし合わせてみてください!
また、最後にスニペットも公開しているのでぜひ使ってみてくださいね🙌

もし、解決したら心の中でさんきゅって思ってくれたら嬉しいです笑

成功するサンプルコード (sample_model.dart )

json_serializable

たぶん、一番多いのがこれじゃないかな〜なんて思ったりもします。

pubspec.yamljson_serializable
追加をし忘れていないでしょうか?

僕が最近、生成されないな〜って思った時はこれが原因でした。

pubspec.yamldependenciesに以下を追加しましょう。

  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

また、記事がとても役に立ったと思う人は
コーヒーを奢っていただけると非常に嬉しいです!
@daiki1003

コメント

タイトルとURLをコピーしました