При просмотре случайного исходного файла фреймворка express
для NodeJS
есть две строки кода, которые я не понимаю (эти строки кода типичны почти для всех файлов NodeJS).
/**
* Expose `Router` constructor.
*/
exports = module.exports = Router;
и
/**
* Expose HTTP methods.
*/
var methods = exports.methods = require('./methods');
Я понимаю, что первый фрагмент кода позволяет показать остальные функции в файле в приложение NodeJS , но я не совсем понимаю , как это работает , или что означает код в строке.
Что на самом деле означают
exports
иmodule.exports
?
Я считаю, что вторая часть кода позволяет функциям в файле обращаться к методам
, но опять же, как именно он это делает.
В принципе, что это за волшебные слова: модуль
и экспорт
?