你知道为什么这个简单的ExpressJS应用程序不支持Heroku环境变量吗?
我正在创建一个简单的HTTP->HTTPS转发服务器,如下所述: 我敢肯定我一定忽略了一些简单的事情,但即使日志将我的DEVMODE打印为false,它也无法在*路由处理程序中捕获它。它正好过了线你知道为什么这个简单的ExpressJS应用程序不支持Heroku环境变量吗?,heroku,express,Heroku,Express,我正在创建一个简单的HTTP->HTTPS转发服务器,如下所述: 我敢肯定我一定忽略了一些简单的事情,但即使日志将我的DEVMODE打印为false,它也无法在*路由处理程序中捕获它。它正好过了线 var port = process.env.PORT || 1337; var express = require('express'); var app = express(); var path = require('path'); var fs = require('fs'); conso
var port = process.env.PORT || 1337;
var express = require('express');
var app = express();
var path = require('path');
var fs = require('fs');
console.log("DEVMODE= " + process.env.DEVMODE); //outputs DEVMODE=false
app.get('*',function(req,res,next){
if (process.env.DEVMODE == false){
//-----NOTHING REACHES THIS POINT though it just said process.env.DEVMODE = false
if( req.headers['x-forwarded-proto'] != 'https' )
res.redirect('https://mydomain.com'+req.url)
else
next() /* Continue to other routes if we're not redirecting */
} else {
//-----Goes straight to here.
next();
}
})
app.use(express.static(__dirname));
app.listen(port);
我肯定我忽略了一些非常简单的事情。知道为什么没有调用process.env.DEVMODE if语句中的代码吗
非常感谢 环境变量是字符串,请尝试以下操作:
if (process.env.DEVMODE == "false") {
...
}
环境变量是字符串,请尝试以下操作:
if (process.env.DEVMODE == "false") {
...
}