ディレクトリ配下のindex.jsをインポートするには?

Jan 30, 2017  

importでディレクトリを指定すると?

import reducers from './reducers';

といった記述があった./reducersディレクリ以下にはindex.jsともう一つファイルが有った。
どこからインポートするかディレクトリを指定した場合、ディレクトリ配下のindex.jsが指定されるのでは?と仮設を立てた。

ディレクトリ配下にindex.jsを用意

  • import_samples.js
  • samples/index.js
  • samples/sampleA.js

import_samples.js

import samples from './samples';

samples/index.js

import { text } from './sampleA';
console.log(text);

samples/sampleA.js

export var text = "A";

といった構成で、以下のようにコマンドを打つと

# babel import_samples.js -o bundle.js
# babel-node bundle.js
# A

と出力された。
この時samples/index.jssamples/hoge.jsに変更してみると

...
Error: Cannot find module './samples'
...

となりエラーになった。
以上より、仮設は正しいと思われる。