我应该安装摩根记录器作为开发依赖项吗

Ayo*_*b k 2 node.js morgan

我应该正常安装摩根dependency还是devDependency因为我不会在生产模式下使用日志记录:

if (config.NODE_ENV !== 'production') {
    app.use(morgan('dev', { stream: { write: message => logger.http(message) } }));
}
Run Code Online (Sandbox Code Playgroud)

dou*_*arp 7

假设它与您通过或类似安装的 和相config.NODE_ENV匹配,那么您不需要将其包含在您的中,只需将其包含在. 您应该将or移到if 语句内以防止错误。当您调用或is 时,当它尝试从模块缓存加载时(如果它已经加载)。process.env.NODE_ENVnpm install --productionmorgandependenciesdevDependenciesrequireimportrequireimportnode_modules

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

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