В документации API Экспресс говорится шаблон для функции „(функция [путь] [функция ...]) app.use“Express.js функции API параметр спутанность
Однако в app.js
файл, который создается после выполнения генератора экспресс есть эта строка кода, «app.use('/', routes);
» и маршрут объявлен в верхней части как var routes = require('./routes/index');
после просмотра index.js
и его соответствующие module.exports, я изо всех сил, чтобы понять, как маршруты являются просто функцией или как само приложение является функцией и может быть передано в var server = http.createServer(app);
, когда в его документации также указывается, что его единственный вариант Параметр al - это функция.
Спасибо за ответ. Я понимаю эту структуру папок, но я больше смущен тем, как объекты маршрутизатора или приложения являются просто функциями и могут быть переданы как допустимые аргументы в app.use (...) и http.createserver (...). Просто глядя на файлы ./routes/index.js и ./app.js, они кажутся мне сложными объектами. – 4Matt
'function foo() {....}; bar (foo); '- простой пример того, как передать функцию (' foo') другой функции ('bar'). В этом нет ничего волшебного. Функции - это значения, как и любые другие. –
Да, я знаю, что в функциях javascript есть объекты, и поэтому они могут передаваться в другие функции в качестве аргументов. Я в тупике о том, как приложение и маршрутизатор являются функциями в первую очередь – 4Matt