#node.js #gulp
#node.js #gulp
Вопрос:
Я использую gulp-nodemon
его из-за его наиболее очевидных утилит.
Nodemon — это утилита, которая будет отслеживать любые изменения в вашем источнике и автоматически перезапускать ваш сервер.
Но я не понимаю практику, которая, по-видимому, распространена в разработке express / node.
Я только начал работать с node и express, но из того, что я понимаю:
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;
Итак, теперь мы связываем и прослушиваем соединения на указанном хосте и порту.
Но потом я вижу, что люди настраивают в своих задачах gulp следующее nodemon
в своих gulpfile.js
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}
Зачем устанавливать порт снова?
Спасибо!
Ответ №1:
Люди используют что-то подобное в качестве запасного варианта: port = process.env.PORT || 8016;
Ваше приложение должно быть достаточно гибким и, передавая переменную env, заставлять его прослушивать другой порт. В общем, это цель переменных env.
Что касается вашего примера, я полагаю, что есть причина, по которой парень, написавший этот файл gulp, хотел бы заставить приложение прослушивать порт 8000. Я бы сказал, что безопасно изменять значение или удалять PORT: 8000
, как только вы на 100% уверены, что нет причин, по которым приложение должно запускаться на порту 8000 (например, оно находится за обратным прокси, который перенаправляет трафик на порт 8000).