require以前の問題として、hmEdgeJSを実行するためには、
格納されているフォルダが日本語などマルチバイト文字を含んでいないこと
という制限があります。
注意してください。
一般的なnodeのrequire関数と特に変わりませんが、よくあるパターンをここでは解説します。
例えば、
js側のソース
という記述は、
mytest.js と abc.js が同じディレクトリにあることで、require することが出来ます。
このような読み込み方はよくあるパターンの1つでしょう。
これもnodeを利用していれば、自然なライブラリ構成だという印象を受けることでしょう。
実行する.jsファイルと同じディレクトリ階層に、node_modulesというサブディレクトリを作成し、
そのサブディレクトリの中に「.jsファイル」を配置しておけば、
nodeのパッケージライブラリの仕組みが働きます
例えば、
node_modulesの中に入れるソース
という記述をしたとすると、
上図のように、mytest.jsと同じフォルダにnode_modulesフォルダを作り、
このように
node_modulesフォルダをパッケージの仕組みとして読み込める、ということは、
hmEdgeJSに含まれない外部のnodejsモジュールを「npmコマンド」でインストール出来る
ことを意味します。
詳細は外部パッケージの利用を参照してください。
あまり知られていないかもしれませんが、node.jsのrequire関数は、
jsonファイルを読み込むことが出来ます。(jsonの内容に従ったJavaScriptのオブジェクトになる)
hmEdgeJSのrequire関数も、nodeのrequire関数そのものですので、jsonファイルを読み込むことが可能です。
let data = require("./aaa.json"); console.log(data);