您的方法是可以的,但是您可以做一些更通用的事情,例如将Redis的配置数据存储在文件中,或者像参数一样传递主机和端口:
node app.js REDIS_HOST REDIS_PORT
然后在您的应用中,您可以使用process.argv来抓取它们:
app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); var r = require("redis").createClient(process.argv[2], process.argv[3]);});app.configure('production', function(){ app.use(express.errorHandler()); var r = require("redis").createClient(process.argv[2], process.argv[3], { detect_buffers: true });});更新:
Express可以通过查看NODE_ENV变量(process.env.NODE_ENV)来了解您所处的环境:https
:
//github.com/visionmedia/express/blob/master/lib/application.js#L55
您可以像这样启动应用程序时设置变量:(
NODE_ENV=production nodeapp.js推荐),在Express代码之前在节点应用程序中手动设置process.env.NODE_ENV,或者像Ricardo所说的那样将环境变量放入〜/
.profile中。



