Предположим, мы создаем простое приложение с узлами node.js и express (Note App). Мы хотим организовать наш код и поместить все контроллеры в отдельную папку. поэтому мы создаем папку и создаем в ней index.js
. то мы добавим файлы js-контроллеров в эту папку. Затем инициализировать все контроллеры в главной точке входа index.js
, а затем использовать require
в server.js
для доступа к нашим контроллерам. (Я не люблю большие, громоздкие и запутанные server.js
файлы, вся логика втыкают в него!)Разный шаблон module.exports в node.js
Все эти пробы коды работают нормально, но я не могу понять разницу между этими кодовыми блоками.
1.
module.exports.init = function(app){
console.log("notes controller init.");
};
2.
function init(app){
console.log("notes controller init.");
};
module.exports.init = init;
3.
(function (notesController){
notesController.init = function(app){
console.log("notes controller init.");
};
})(module.exports);
4.
module.exports = {
init: function(app){
console.log("notes controller init.");
}
}
Есть ли разница в производительности или загрузке этих функций или что-то таинственное в JavaScript или просто разнообразие стиля кодирования?
Спасибо.
PS.
Я работаю back-end C# разработчиком, который ненавидел JavaScript! но я пытаюсь понять природу этого языка из-за Node.js. Я много говорю о модуле, об экспорте и прототипе и ... в JavaScript, но не могу найти ответ.
Действительно, разница в производительности, но вы не можете измерить ее, поскольку она ничтожно мала. – zerkms
@zerkms ведьма одна лучше? – Navid
Вы ушли из 'module.exports = {init: function (app) {console.log (" note controller init. ");}}' – acbabis