Привет, в моем проекте express у меня есть индексный файл, в котором мне требуются разные файлы для запуска приложения. Для этого требуется файл подключения к базе данных, файл для ведения журнала с использованием winston и файл для настройки маршрутов.
Я использую оператор require()
в express для вызова этих файлов и при запуске приложения ( используя nodemon), я ожидаю, что некоторые сообщения будут зарегистрированы в терминале, проверяя, что файлы были вызваны, однако сообщения не появляются.
Вот мой код: index. js:
const express = require('express')
const app = express()
require('./startup/logging') ()
require('./startup/db') ()
require('./startup/routes') (app)
const port = process.env.PORT || 3000
app.listen(port, () => winston.info(`Listening on port: ${port}`))
дБ. js:
const mongoose = require('mongoose')
const winston = require('winston')
module.exports = function() {
mongoose.connect('mongodb://localhost/dwg', {useNewUrlParser: true, useUnifiedTopology: true})
.then(() => winston.info('Connected to MongoDB...'))
.catch(err => console.error("Error"))
}
регистрация. js:
const winston = require('winston');
module.exports = function() {
winston.handleExceptions(
new winston.transports.File({ filename: 'uncaughtExceptions.log' }));
process.on('unhandledRejection', (ex) => {
throw ex;
});
winston.add(winston.transports.File, { filename: 'logfile.log' });
}
маршруты. js:
const express = require('express');
module.exports = function(app) {
app.use(express.json())
}
При запуске приложения база данных не создается. Я могу подтвердить это, посмотрев на компас mongodb. Сообщение, которое должно быть напечатано app.listen()
, также не выводится на консоль. Кто-нибудь знает проблему? Спасибо.