腹痛+気持ち悪い+眠気
朝目が覚めると、いきなり腹痛+気持ち悪さ+眠気の3連コンボを食らわせられて大変だった。 午後には治ったけど、アレはなんだったんだろう...(苦笑)
体調管理、大事
ということで最近、JavaScriptの勉強ということで問題を解いたりもしています。
今日はnpmのモジュールロードについての学び。
nodeを使って開発する時、npm
やyarn
で外部ライブラリを管理すると思います。
その時インストールされたライブラリはnode_modules
というディレクトリ内に保管されるというのは知られた話で、
実際にモジュールをロードしたい時は、require
文やimport
文を使って読み込みます。
僕は、その時の内部動作を詳しく知らずに使っていたので、今日はその内部動作を知ることができたのが今日の収穫です。
参考として、日本語ページと公式ページの両方載せておきます。
詳細は参考リンクを見て欲しいのですが、node_modules/
以下にrequire等で指定したモジュール名が見つかった時以下のように読み込みを行うそうです。
- モジュールを展開して
package.json
を探す。見つかればそのmainプロパティ先のファイルを読み込んで返す package.json
が無ければindex.js
を探す。見つかればそれを読み込んで返すindex.js
が無ければindex.node
を探す。見つかればそれを読み込んで返すindex.node
も無ければエラーを吐く
という流れらしいですね。 (漠然とやってたら、なかなか知る機会無さそう...)