Gitbash неправильно устанавливает переменную окружения

Я пытаюсь использовать npm install debug в моем узле сервера.

var debugModule = require('debug');
var debugMainApp = debugModule('debugMainApp')

const express = require('express');

const app =  express();

const port ='3000';
const domain = 'localhost';

app.listen(port,domain,()=>{
     debugMainApp('Server started in port: ' + port + ' hostname: ' + domain);
});

debugMainApp('Server started in port: ' + port + ' hostname: ' + domain); ничего не печатает на консоль.

Мои попытки решить эту проблему
Установив атрибут debugMain.enabled = true вручную debugMainApp('Server started in port: ' + port + ' hostname: ' + domain); напечатал следующее в консоли:

mainApp Server started in port: 3000 hostname: localhost +0ms

Насколько я понимаю, это debugMain.enabled атрибут должен быть установлен автоматически, когда переменная окружения соответствует строке debugModule('this_String') установлено.

Вот как я устанавливаю переменную среды и запускаю свой сервер

$ DEBUG=debugMainApp & node server.js

Но кажется, что последний не устанавливает переменную среды должным образом.

Вопросы

  1. Если вы думаете, что моя теория переменных среды верна. Как правильно установить переменную окружения с помощью командной строки GitBash? например $ DEBUG=mainApp & node server.js
  2. Может ли это быть что-то еще?

Заранее спасибо.

Более актуальная информация:
Моя ОС: Windows 10
GitBash Версия: 2.13.0.windows.1
NodeJS версия: 6.10.3

РАЗРЕШАЮЩАЯ СПОСОБНОСТЬ

1 ответ

Решение

Символ & указывает bash на запуск процесса в фоновом режиме.

Правильный синтаксис:

DEBUG=mainApp node server.js

См. Больше в разделе " Почему установка переменной перед командой разрешена в bash?"

Простая команда представляет собой последовательность необязательных присвоений переменных, за которыми следуют слова и перенаправления, разделенные пробелами, и завершаются оператором управления.

Другие вопросы по тегам