Этот перевод обеспечивается StrongLoop / IBM.
Этот документ может быть устаревшим по отношению к документации на английском языке. Последние обновления содержатся в документации на английском языке.Нет единого ответа на данный вопрос. Все зависит от размеров приложения и участвующей в разработке команды. В целях обеспечения максимальной гибкости, в Express не предусмотрены какие бы то ни было предпосылки в отношении структуры.
Маршруты и другая логика приложений могут размещаться в любом количестве файлов, на ваше усмотрение, и в любой структуре каталогов, которую вы предпочтете. В качестве источника вдохновения, ознакомьтесь со следующими примерами:
Также существуют сторонние расширения для Express, упрощающие некоторые из этих шаблонов:
В Express нет средств для работы с базой данных. Их предоставляют исключительно сторонние модули Node, что позволяет вам взаимодействовать практически с любой базой данных.
Фреймворк на базе Express, ориентированный на работу с моделями, описан в разделе LoopBack.
Аутентификация - это еще одна своеобразная область, которую Express не охватывает. Можно использовать любую схему аутентификации, по вашему желанию. Простая схема “имя пользователя / пароль” представлена в следующем примере.
Express поддерживает все шаблонизаторы, согласующиеся с сигнатурой (path, locals, callback)
.
Дополнительную информацию о нормализации интерфейсов шаблонизации и кеширования можно найти в проекте
consolidate.js. Не представленные в списке шаблонизаторы также могут поддерживать сигнатуру Express.
В Express код 404 не является результатом ошибки. Обработчик ошибок не фиксирует их, потому что код ответа 404 указывает лишь на факт отсутствия дополнительной работы. Другими словами, Express выполнил все функции промежуточной обработки и маршруты и обнаружил, что ни один из них не отвечает. Все, что вам нужно сделать, - добавить промежуточный обработчик в конец стека (после всех остальных функций) для обработки кода 404:
app.use(function(req, res, next) {
res.status(404).send('Sorry cant find that!');
});
Функции промежуточного обработчика для обработки ошибок определяются так же, как и другие промежуточные обработчики, но с указанием не трех, а четырех аргументов в сигнатуре (err, req, res, next)
).
app.use(function(err, req, res, next) {
console.error(err.stack);
res.status(500).send('Something broke!');
});
Дополнительная информация содержится в разделе Обработка ошибок.
Вам не нужно этого делать! Нет необходимости отображать HTML с помощью функции res.render()
.
Если у вас есть отдельный файл, воспользуйтесь функцией res.sendFile()
.
В случае предоставления нескольких ресурсов из каталога воспользуйтесь промежуточным обработчиком express.static()
.