1

我应该正常安装摩根dependency还是因为无论如何devDependency我都不会在生产模式下使用登录:

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

1 回答 1

4

假设与您通过或类似方式安装config.NODE_ENV的 and 相匹配,那么您不需要将其包含在您的and 中,只需将其包含在. 您应该在 if 语句中移动or以防止错误。当您调用or时,它会尝试从模块缓存中加载(如果已加载)。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) } }));
}

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

于 2020-09-20T22:11:54.773 回答