これは Node で遊ぶ 2 回目の週末なので、少し初心者です。
JavaScript が提供しないものを提供する一般的なユーティリティでいっぱいの js ファイルがあります。大きく切り取ると、次のようになります。
module.exports = {
Round: function(num, dec) {
return Math.round(num * Math.pow(10,dec)) / Math.pow(10,dec);
}
};
他の多くのカスタム コード モジュール (これも require() ステートメントを介して含まれます) は、ユーティリティ関数を呼び出す必要があります。彼らは次のように呼び出します。
module.exports = {
Init: function(pie) {
// does lots of other stuff, but now needs to round a number
// using the custom rounding fn provided in the common util code
console.log(util.Round(pie, 2)); // ReferenceError: util is not defined
}
};
実際に実行される node.js ファイルは非常に単純です (まあ、この例では)。次のように、コード内に require() を記述して、カスタム コードの Init() fn を開始するだけです。
var util = require("./utilities.js");
var customCode = require("./programCode.js");
customCode.Init(Math.PI);
これは機能しません。customCode から「ReferenceError: util is not defined」というメッセージが表示されます。必要な各ファイルのすべてが「プライベート」であることはわかっています。これがエラーが発生する理由ですが、ユーティリティコードオブジェクトを保持する変数がどこかに保存される必要があることも知っていますglobal
。
検索しましたが、そこglobal
には参照がありませんでしたutils
。global.utils.Round
カスタムコードのようなものを使用することを考えていました。
問題は、ユーティリティ コードが実際には何か (var u、util、または utility) として参照される可能性があることを考えると、他のコード モジュールがこれらのユーティリティを参照できるように、これをどのように整理すればよいかということです。