私はこのようなことをしたいと思います:
var jsonFileName = aDynamicallyGeneratedJsonFileName(),
defaultObject = {'my': 'default', 'json': 'object'};
var cachedOrRequiredObject = require(jsonFileName, defaultObject);
存在しない場合cachedOrRequiredObject
に指定したいのですが、require キャッシュが存在しない場合でもキーとして保持されるようにしたいと考えています。defaultObject
jsonFileName
jsonFileName
defaultObject
jsonFileName
もちろん、これは機能しません。特に、ファイルが見つからない場合はエラーが必要です。私は次のようなことができます:
function myRequire (file, defaultObj) {
try {
return require(file);
catch () {
return defaultObj;
}
}
しかし、 を実行するたびにrequire
、ファイル システムにアクセスしてfile
、存在しない場合に検索しようとします。これを行うには、require の機能を複製して自分のキャッシュを維持するよりも良い方法はありますか?