Closed4
flutter_gen を使う
![Daigo Wakabayashi](https://res.cloudinary.com/zenn/image/fetch/s--Tw6O_8uu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/9db0b13c2e.jpeg)
flutter gen ってなに?
- 自動生成により画像などのリソースファイルへアクセスできるようになる
- 実装する時にコード補完が効くのでタイポしなくなる
- 静的解析ができるので存在しないファイルの指定などによる実行時のエラーを防ぐ
assetのファイル(画像や音声など)を安全に扱うことの出来るパッケージ
![Daigo Wakabayashi](https://res.cloudinary.com/zenn/image/fetch/s--Tw6O_8uu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/9db0b13c2e.jpeg)
インストール
dart pub global activate flutter_gen
brewで入れようとしたらXcodeのバージョンやらなんやら言われたので、pubで入れた
- pubspecに追加
build_runnerはもともと入っていたので、 genの最新を追加してpubget
dev_dependencies:
build_runner: ^2.1.2
flutter_gen_runner: ^4.0.0
-
fluttergen -h
でインストールできたことを確認
-c, --config Set the path of pubspec.yaml.
(defaults to "pubspec.yaml")
-h, --[no-]help Help about any command
できてるっぽい
![Daigo Wakabayashi](https://res.cloudinary.com/zenn/image/fetch/s--Tw6O_8uu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/9db0b13c2e.jpeg)
pubspecのパスを設定
fluttergen -c <プロジェクト>/pubspec.yaml
エラーが出た
ファイル名に@
が入ってたらダメっぽい?
FlutterGen Loading ... orders-app/pubspec.yaml
Unhandled exception:
Could not format because the source could not be parsed:
line 31, column 34 of .: Expected an identifier.
╷
31 │ AssetGenImage get ueBitmapCopy@3x => const AssetGenImage('assets/images...
...
なんかいろいろ
...
ファイル名に
@
が入ってたらダメっぽい?
@
つきのファイル(しかも使ってなかった)を削除したら通った
% fluttergen -c ./pubspec.yaml
FlutterGen Loading ... pubspec.yaml
Generated: <生成されたファイルのパス>
FlutterGen finished.
生成先も指定できるらしい
output : 自動生成されるコードの出力先を指定することができます。
他の Plugin は lib直下固定の生成になってることが多いです。
lineLength : 自動生成されるコードの Line length(コードの横幅)を指定することができます。 80 から変更することのほうが少ないと思いますが、変更している場合には自動生成されるコードも合わせておかないと flutter format コマンドで -l 100など指定している場合は差分がでてしまいます。
他の Plugin は指定することが出来ないものが多いです。
![Daigo Wakabayashi](https://res.cloudinary.com/zenn/image/fetch/s--Tw6O_8uu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/9db0b13c2e.jpeg)
画像の表示
このスクラップは2021/10/05にクローズされました