【问题标题】:Express - Environment Debugging In RoutesExpress - 路由中的环境调试
【发布时间】:2014-06-20 22:11:08
【问题描述】:

我一直在使用 Express 开发一个基本的网络应用程序,并且一直在使用推荐的 app.get('env') 进行调试:

var app = require('express')();
...
app.post('/', function(req, res) {
    if (app.get('env') === 'development') {
        // code to run when in development
    } else {
        ...
    }
}

现在我已经开始将我的代码模块化到路由中,我无法访问 app 对象,转而使用 router

var express = require('express');
var router = express.Router();

由于.get('env')app 的一部分,我无法弄清楚如何从路由中获取调试环境状态。我怎样才能获得这些信息?

【问题讨论】:

    标签: node.js debugging express routes environment-variables


    【解决方案1】:

    ExpressJS 4 中的正确做法是:

    var env = process.env.NODE_ENV || 'development';
    if ('development' === env) {
       // your code goes here
    }
    

    【讨论】:

    • 有点困惑;我在 app.js 中尝试了以下内容:console.log(process.env.NODE_ENV, process.env.DEBUG, app.get('env')) 并将前两个设置为“未定义”,但最后一个设置为“开发”。 'env' 是否出于某种原因默认为开发?
    • 回答:是的。来自文档:'env - 环境模式,默认为 process.env.NODE_ENV(NODE_ENV 环境变量)或“开发”'
    猜你喜欢
    • 2017-01-25
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    相关资源
    最近更新 更多