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