Ваша ЛУЧШАЯ ставка состоит в том, чтобы запустить ng build
(или эквивалентную) и обслуживать ваше приложение Angular непосредственно с вашего веб-сервера NodeJS.
Ваша альтернатива - настроить приложение Angular (похоже, вы используете сервер WebPack, используемый Angilar CLI, т.е. ng serve
) для использования прокси : ng serve --proxy-config proxy.conf.json
.
Вот несколько ссылок о том, как это сделать:
Другой альтернативой (которая может использоваться в сочетании с вышеупомянутым) является настройка CORS:
[117 ] CORS в Express с использованием TypeScript
Если вы сделаете это, вам также необходимо добавить заголовок «Allow Origin» CORS в ваше приложение Angular:
`'Access-Control-Allow-Origin':'*',`
Вы не сказали, на какой платформе Вы хотите сделать это.
В Windows Вы могли использовать PowerGREP, который автоматически обнаруживает файлы Unicode, которые запускаются с метки порядка байтов. (Существует также опция автоматически обнаружить файлы без BOM. Автоматическое обнаружение очень надежно для UTF-8, но ограниченное для UTF-16.)
В соответствии с этой статьей блога Damon Cortesi grep не работает с файлами UTF-16, как Вы узнали. Однако это представляет это обходное решение:
for f in `find . -type f | xargs -I {} file {} | grep UTF-16 | cut -f1 -d\:`
do iconv -f UTF-16 -t UTF-8 $f | grep -iH --label=$f ${GREP_FOR}
done
Это, очевидно, для Unix, не уверенного, каков эквивалент в Windows был бы. Автор той статьи также предоставляет сценарий оболочки, чтобы сделать вышеупомянутое, которое можно найти на GitHub здесь.
Это только захватывает файлы, которые являются UTF-16. Вы были бы также grep свои ASCII-файлы нормальный путь.
Спасибо за предложения. Я обращался к Windows Vista и XP.
Я также обнаружил это обходное решение, с помощью свободного Sysinternals strings.exe
:
C:\> strings -s -b dir_tree_to_search | grep regexp
Strings.exe
извлечения все строки это находит (от двоичных файлов, но хорошо работает с текстовыми файлами также), и предварительно ожидает каждый результат с именем файла и двоеточием, поэтому примите это во внимание в regexp (или используйте сокращение или другой шаг в конвейере). -s
заставляет его сделать рекурсивное извлечение и -b
просто подавляет сообщение баннера.
В конечном счете я все еще отчасти удивлен что ведущие утилиты Gnu поиска grep
и findstr
не обрабатывайте кодировки символов Unicode исходно.