最終更新日 2024-09-25

require関数とmodule.paths

requireの前に…

require以前の問題として、hmEdgeJSを実行するためには、

格納されているフォルダが日本語などマルチバイト文字を含んでいないこと

という制限があります。
注意してください。

require関数で読めるパス

一般的なnodeのrequire関数と特に変わりませんが、よくあるパターンをここでは解説します。

「.js」からさらに同じフォルダにある別のjsをrequireする

「.js」と「同じフォルダにnode_modulesディレクトリ」

これもnodeを利用していれば、自然なライブラリ構成だという印象を受けることでしょう。
実行する.jsファイルと同じディレクトリ階層に、node_modulesというサブディレクトリを作成し、
そのサブディレクトリの中に「.jsファイル」を配置しておけば、
nodeのパッケージライブラリの仕組みが働きます

jsonも読み込める

あまり知られていないかもしれませんが、node.jsのrequire関数は、
jsonファイルを読み込むことが出来ます。(jsonの内容に従ったJavaScriptのオブジェクトになる)
hmEdgeJSのrequire関数も、nodeのrequire関数そのものですので、jsonファイルを読み込むことが可能です。

let data = require("./aaa.json");
console.log(data);