自分だけかもしれないのだが、 import
はファイルの先頭に書かなければシンタックスエラーになるのだと勝手に勘違いをしていた。
下記のソースコードはエラーではないのだ。
import hoge from 'hoge';
export function hogefuga() {
hoge();
fuga();
}
import fuga from 'fuga';
export function fugahoge() {
fuga();
hoge();
}
ただし import
をファイルの途中に書くメリットはまったく思いつかないので、先頭に書いたほうが良いだろうね
なぜこんな勘違いをしていたのかと考えてみたけど
- トップレベルに書かなければいけないという仕様をファイルの先頭と勘違いしていた
- importはエディタが勝手にファイルの先頭に書いてくれるものだから
- ES Modules 覚え始めのころのプロジェクトで、eslintで禁止されていた
こういう理由があったのかもしれない。