Внутри handler.js и я экспортировал 2 функции. Один для initialize()
и других handle()
. Инициализация функции используется для загрузки динамика обработчика в зависимости от настроек приложения. И я разделил переменную var handler
вне функции module.exports.Как разделить область внутри module.exports
handler = new Handler(app);
новый экземпляр создал назначение общей переменной var handler
. А затем внутри handle()
функция с общей переменной var handler
. использовано
Динамически require()
файл в режиме веб-запроса не является хорошей идеей. Таким образом, метод initialize()
создан и вызван во время запуска приложения.
Позвольте мне знать, предложение, чтобы удалить общую переменную «обработчик»
var handler;
module.exports = {
initialize : function (app){
var Handler = require(path.resolve(app.basedir, app.settings.handler));
handler = new Handler(app);
},
handle : function handle(ctx) {
var urlToHandle = ctx.url;
return handler.resolveURL(ctx)
.then(function (json) {
ctx.layoutJSON = json;
return ctx;
})
.catch(function (e) {
throw e;
});
}
};
Не уверен, что я понял, почему вам нужно удалить «обработчик», промежуточное ПО завершается в IIFE и кэшируется узлом в любом случае? – adeneo