在gulp-nodemon中设置端口有什么用处?

我正在使用gulp-nodemon因为它最明显的实用程序。

Nodemon是一个实用程序,它将监视源中的任何更改并自动重新启动服务器。

但是我不了解在快速/节点开发中似乎普遍存在的一种做法。

我刚刚开始使用节点和expression,但从我的理解:

app.js

 var express = require('express'), app = express(), port = process.env.PORT || 8016; app.get('/', function rootHndlr(req, res) { /* body... */ res.send('welcome to my API!'); }); app.listen(port, function listenHndlr(){ console.log('Gulp is running my app on PORT ' + port); }); 

如果未设置,以下是端口设置为8016

port = process.env.PORT || 8016;

所以现在我们绑定并监听指定主机和端口上的连接。

但是后来我看到人们在他们的nodemon中将nodemonconfiguration到他们的nodemon任务中

gulpfile.js

 var gulp = require('gulp'), nodemon = require('gulp-nodemon'); gulp.task('default', function() { // content nodemon({ script: 'app.js', ext: 'js' env: { PORT: 8000 }, ignore: ['./node_modules/**'] }). on('restart', function(){ consile.log('Restarting'); }); }); 

正如你可以在nodemon env: {PORT: 8000}一个值env: {PORT: 8000}为什么重新设置端口?

谢谢!

人们正在使用类似的东西作为后备: port = process.env.PORT || 8016; port = process.env.PORT || 8016;

你的应用程序应该足够灵活,并且通过传递一个env var来让它监听另一个端口。 一般来说,这是env vars的目的。

关于你的例子,我想有一个原因,那个写这个gulpfile的人想让这个应用程序监听8000端口。我想说,改变这个值是安全的,或者尽快删除PORT: 8000是安全的。您100%确定应用程序不需要在端口8000上运行(例如,它在将stream量转发到端口8000的逆向代理之后)是没有理由的。