Я говорю о серверной стороне js (с node.js и require.js). У меня есть три файла
//1) app.js - main entry point:
//=======================================================
var myservice = require('./myservice');
rt.register('someKey', require('./XYZhandler').handler);
//2) myservice.js:
//=======================================================
var handlers = {};
exports.register = function(key, handler) {
handlers[key] = handler;
};
//3) and finally XYZhandler.js:
//=======================================================
exports.handler = function() {
//...do something
};
Итак, в приведенной выше настройке у меня есть весь скрипт, который фактически выполняется явно в приложении.js
Альтернатива, которую я имел, была:
//1) app.js - main entry point:
//=======================================================
var myservice = require('./myservice'),
rt = require('./XYZhandler');
//2) myservice.js: unchanged from above
//3)and finally XYZhandler.js:
//=======================================================
require('./myservice').register(function() {
//...do that same thing
};
В этой последней настройке у меня есть скрипт в XYZhandler.js, который фактически выполняется при первом обращении к requirejs (обратите внимание, что XYZhandler.jsничего не экспортирует).Я (как разработчик Java) сравниваю это с статическими инициализаторами .Но что из вышеперечисленного считается лучшей практикой?Спасибо.