Включить вывод цветов для cmd
Я не мог раскрасить мои утверждения casperjs на моем cmd.exe (Windows 7, x64). Я следовал за Ансиконом.
Если я правильно понял, утверждения окрашиваются автоматически, если ansicon установлен casperjs
Пользователи Windows получат цветной вывод, если установлен ansicon.
Есть идеи?
ОБНОВИТЬ
var casper = require('casper').create(),
utils = require('utils'),
http = require('http'),
fs = require('fs'),
colorizer = require('colorizer').create('Colorizer');
var xpath = require('casper').selectXPath;
casper.start('http://google.com/').then(function(response) {
casper.echo('This is supposed to be green', 'INFO');
});
casper.run();
CMD:
C:\Users\itsme\Desktop>casperjs test test.js
Test file: test.js
This is supposed to be green
C:\Users\itsme\Desktop>casperjs test test.js
2 ответа
Ответ здесь: вывод на консоль ANSI-Coloring с.NET
Бинарный пакет CasperJS поставляется с предварительно скомпилированным casperjs.exe
который нацелен на платформу x86. К сожалению, это имеет эффект, который вы упомянули в 64-разрядных версиях ansicon.
Решения:
- Используйте версию x86
ansicon.exe
Рекомпилированные
casperjs.exe
для платформы x64, которая быстра и безболезненна:C:\>cd casperjs\src C:\casperjs\src>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /platform:x64 casperjs.cs
Скопируйте полученный.exe-файл в bin
каталог и все готово.
Я думаю, что ваша проблема в том, что casperjs проверяет, является ли переменная окружения ANSICON
установлен в Windows, и если он не установлен, он не пытается окрасить вывод. К сожалению, когда вы устанавливаете ansicon так, как вы это делали, он не устанавливает эту переменную в среде обычным способом. Вместо этого он использует грубый хак, чтобы установить его в среде начального cmd.exe
процесс окна, но только если что то cmd
Процесс пытается получить свое значение. Так как ничто обычно не использует ANSICON
переменная окружения это означает, что она обычно не будет видна другим процессам (например, casperjs
) запустить в этом окне.
Если это проблема, то все, что вам нужно сделать, это установить ANSICON
переменная перед запуском casperjs
:
set ANSICON=%ANSICON%
Вы также можете сделать это постоянной частью окружающей среды, используя setx ANSICON=foo
,