9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

freezedでxxx.g.dartが生成されない時にチェックすべきこと

Last updated at Posted at 2020-10-23

freezedの処理としては成功しているけど、xxx.g.dart、つまりはjson_serializedのファイルが生成されない。でもエラーが出ないので何が間違っているかがわからないということがありました。これは、そもそも「生成の指示が適切にできていない」ことが問題です。以下は、この問題を解決するためのチェックリストです。

part 'message.g.dart';は書いているか

import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:meta/meta.dart';

part 'message.freezed.dart';
part 'message.g.dart'; // ←これ

@freezed
abstract class Message with _$Message {
  factory Message(
      {@required String username,
      @required String body,
      @required DateTime createdDate}) = _Message;

  factory Message.fromJson(Map<String, dynamic> json) =>
      messageConverter.fromJson(json);

  static const messageConverter = MessageConverter();
}

json_serializableをpubspec.yamlに書いているか

これで15分くらい詰まりました。

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  freezed: ^0.11.6
  json_serializable: ^3.3.0 # ←これ

参考

freezed 公式パッケージページ

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?