Node.js の import の大文字小文字問題について
備忘録。
Nuxt.js を使っている時にファイルシステムの仕様で Mac と Linux でビルドの成否が変わる問題に当たった。
components/atoms/AppButton.vue
を import
するための以下のコードがローカル(on Mac)だとビルドできるが、CI(on Linux)だとビルドできなかった。
import '@/components/atoms/Appbutton'
Linux でエラーになった原因は AppButton
を Appbutton
と typo していたからだが、これが何故 Mac ではエラーにならなかったかというと Mac のファイルシステムが case insensitive だからだった。
eslint-plugin-import を入れるのを忘れてたのがよくなかった。これと一緒に Nuxt.js のパスを解釈するために eslint-import-resolver-nuxt-import を入れて防ぐようにした。