開発が進むとimport
でパッケージを関連付ける機会が増え、管理が面倒になる場合がある。
その様な場合、export
文を用いると管理を楽にすることができる。
本エントリではexport
文を用いたリファクタリングの方法を説明する。
exportとは
export
キーワードで指定したファイル他のファイルに受け渡すことができる。
exportの使い方
以下の例を用いて説明する。
main.dart
というファイルにて以下の複数のパッケージをimportしているとする。
import 'package:flutter/component_1.dart'; import 'package:flutter/component_2.dart'; import 'package:flutter/component_3.dart'; import 'package:flutter/component_4.dart'; import 'package:flutter/component_5.dart';
この時全ての処理がmain.dart
で完結すれば良いが、通常のアプリケーション開発においてはファイル分割をすることが多く、上記のような記述が必要になるファイルが増えることが予想される。
そこで以下の内容のcomponent.dart
というファイルを用意する。
export 'package:flutter/component_1.dart'; export 'package:flutter/component_2.dart'; export 'package:flutter/component_3.dart'; export 'package:flutter/component_4.dart'; export 'package:flutter/component_5.dart';
またmain.dart
の先ほどの記述箇所を次の様に変更する。
import 'package:flutter/component.dart';
これで当初の状態と同じように、component_1.dart
からcomponent_5.dart
までのパッケージをimportしたことになる。
さらにimportしたいパッケージを増やす際にはcomponent.dart
へ記述を増やせば良い。
またmain.dart
以外でも同じように
import 'package:flutter/component.dart';
と記述すれば長々とimport
文を記述する手間を省ける。
この様なテクニックは現場では多く目にする。
海外ではcomponent.dart
の様にimport
処理をまとめるファイルをBarrel fileと呼んだりする。