Windows PowerShell не поддерживает console.log объекта Date с Node.js - PullRequest
1 голос
/ 15 марта 2020

Я пытаюсь console.log Дата объекта в Windows PowerShell, выполнив Node.js:

node -e "var d = new Date();console.log('new date = ', d);"

Однако PowerShell не дает мне никакой даты. Единственное, что я получаю, это:

new date=

Все другие типы данных распечатываются, включая время.

Единственный способ, которым я нашел, чтобы увидеть дату в PowerShell добавить .toString() к моему коду:

node -e "var d = new Date();console.log('new date = ', d.toString());"

Тогда я получу: dateAsStringImage

Я не есть эта проблема в простой CMD в той же системе (Windows10Pro). Приведенный выше код (node -e "var d = new Date();console.log('new date = ', d);") будет напечатан:

new date= 2020-03-14T22:46:49.847Z

Если у кого-то есть идеи, как решить эту проблему, я буду очень признателен за вашу помощь.

1 Ответ

1 голос
/ 15 марта 2020

Проблема заключается только в отображении :

Строка даты печатает , но эффективно невидимо , потому что на переднем плане (текст ) выбранный цвет, по-видимому, такой же, как background color в PowerShell.

Простой обходной путь заключается в передаче по каналу Write-Output, который кажется неактивным, но на самом деле вызывает node подавить раскраску, чтобы текст печатался нормально:

PS> node -e "var d = new Date();console.log('new date = ', d);" | Write-Output
new date =  2020-03-15T03:07:06.798Z

Аналогично,

  • , перенаправив вывод в файл , захватил бы текст как и ожидалось (без последовательностей VT (виртуального терминала), которые выдают цвета в консоли).

  • при копировании и вставке строки вывода отображается полный текст.

  • изменение цвета фона консоли на что-то вроде светло-зеленого делает строку даты непосредственно видимой в выводе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...