我应该将morgan logger安装为dev依赖项吗

时间:2020-09-20 22:02:03

标签: node.js morgan

我应该以普通的com.mongodb.MongoSocketOpenException: Exception opening socket 还是dependency的身份安装摩根,因为无论如何我都不愿意在生产模式下使用日志记录:

devDependency

1 个答案:

答案 0 :(得分:2)

假设config.NODE_ENVprocess.env.NODE_ENV相匹配,并且您是通过npm install --production或类似的方式安装的,则无需在morgan中包含dependencies并将其放在devDependencies中。您应该在if语句内移动requireimport以避免错误。当您调用requireimport时,它将尝试从node_modules或模块缓存(如果已加载)中加载。

if (config.NODE_ENV !== 'production') {
    const morgan = require('morgan');
    app.use(morgan('dev', { stream: { write: message => logger.http(message) } }));
}

也就是说,我个人会将其包含在dependencies中,并通过配置设置禁用日志记录,以防我想在生产环境中启用日志记录来调试某些东西。