小编Owe*_*nes的帖子

将Node/Express应用程序设置为实时或生产模式的最佳方法

我目前正在将我的节点/快速应用程序转换为生产部署,作为其中的一部分,我需要使其以生产友好模式运行(例如,对stdOut的调试较少,将日志写入不同的地方,告诉发生错误时用户较少等).

我正在努力解决这个问题,因为每当我设置几乎任何类型的变量来调用'生产'模式时,它都不会对程序运行产生影响.

在开发模式下启动时,我的代码通过Gulp运行,并运行此脚本:

#!/usr/bin/env node
var debug = require('debug')('ascema');
var app = require('../app');

app.set('port', process.env.PORT || 3000);

var server = app.listen(app.get('port'), function() {
    debug('Express server listening on port ' + server.address().port);
});
Run Code Online (Sandbox Code Playgroud)

如您所知,这只是快速生成器生成的启动脚本.

为了在实时模式下运行它,我为服务器创建了一个替代启动(无论如何我几乎不能使用gulp)并且live.js运行这个:

#!/usr/bin/env node
var app = require('./app.js');

app.set('env', 'production');

console.log('running on Port 3000');

var server = app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

但是,当我app.get('env')在应用程序中的任何地方使用时(例如在app.js或其各种依赖项中),它仍然会返回"开发",因此我的生产任务都不会发生.

我在这做错了什么?

非常感谢.

node.js express

16
推荐指数
2
解决办法
2万
查看次数

python 中字典条目的空合并

所以,我知道,在 Python 中我可以这样做:

variable_name = other_variable or 'something else'
Run Code Online (Sandbox Code Playgroud)

...并且将分配'something else'variable_nameifother_variable是假的,否则将other_variable值分配给variable

我可以用字典做一个简洁的类似的事情吗:

variable_name = my_dict['keyname'] or 'something else'
Run Code Online (Sandbox Code Playgroud)

...或者不存在的键名总是会引发错误,导致失败?

python dictionary null-coalescing

7
推荐指数
1
解决办法
5219
查看次数

标签 统计

dictionary ×1

express ×1

node.js ×1

null-coalescing ×1

python ×1