webpack.config.jsでloader対象を指定するプロパティ名が test なのはなぜ?

· 479 words · 1 minute read

webpack.config.jsで、loaderの対象とするファイル等を指定するプロパティの名前が"test"なのが気になって気になってしょうがないです。

module: {
 loaders: [{
  test: /\.js$/, // 指定した正規表現にマッチする場合のみ、ローダーを適用する。
  loader: 'babel'
 }]

なんでtestなんだ…と思って色々調べたところ、どうやらJavaScriptでは正規表現オブジェクトに test()というメソッドがあるらしいことを知りました。

GitHub issue | What is a “test” – why is named “test”?

MDN web Docs | RegExp.prototype.test()

test() メソッドを使うことで、指定した文字列が正規表現に一致するか調べることができるそうです。


ローダーの対象を指定するために、正規表現で対象となるファイルを表現するので、 test()メソッドを連想する…というのが理由なのでしょうか?

それにしてもこの命名はわかりにくい気がします…includeとかだったらわかりやすくてとてもいいのですが…

それって納得いくかァ~~~おい?オレはぜーんぜん納得いかねえ……

もし理由を詳しくご存知の方がいたら、教えていただきたいです。