@DarCKoder

Как правильно настроить скрипт npm start с меткой NODE_ENV=development?

Добрый день.
Как можно правильно настроить скрипт npm start, да так, что бы было указано NODE_ENV=development?

Пытался так и сделать. Выводит ошибку.
"start": "NODE_ENV=development node app.js"

Пытался сделать и так:
"start": "SET NODE_ENV=development && nodemon app.js"


Но в этом случает logger не срабатывает:
var winston = require('winston'),
	ENV = process.env.NODE_ENV; // app.get('env');
        console.log(ENV); //development

function getLogger(module) {
	var path = module.filename.split('/').slice(-2).join('/');

	return new winston.Logger({
		transports: [
			new winston.transports.Console({
				colorize: true,
				level: (ENV == 'development') ? 'debug' : 'error',
				label: path
			})
		]
	});
}


module.exports = getLogger;


http.createServer(app).listen(app.get('port'), function() {
	log.info('Express server listening on port ' + app.get('port'));
});


Если самому запускать через консоль NODE_ENV=development nodemon app.js
То лог выводится. А в случае выше, лог не выводится, хотя process.env.NODE_ENV выводит development
  • Вопрос задан
  • 1569 просмотров
Решения вопроса 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Дополню, что если нужно кроссплатформенно, то используют пакет cross-env, примерно так: cross-env NODE_ENV=production nodemon app.js
Ответ написан
Комментировать
@DarCKoder Автор вопроса
Сам разобрался, может кому пригодится.
Дело было в том, что в:
set NODE_ENV=development && nodemon app.js

Значение process.env.NODE_ENV равняется "development " (с пробелом).
Поэтому будет правильнее сделать так:
set NODE_ENV=development&& nodemon app.js
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы