findstr или grep, который автоматически обнаруживает chararacter, кодирующий (UTF-16)

  1. Ваша ЛУЧШАЯ ставка состоит в том, чтобы запустить ng build (или эквивалентную) и обслуживать ваше приложение Angular непосредственно с вашего веб-сервера NodeJS.

  2. Ваша альтернатива - настроить приложение Angular (похоже, вы используете сервер WebPack, используемый Angilar CLI, т.е. ng serve) для использования прокси : ng serve --proxy-config proxy.conf.json .

  3. Вот несколько ссылок о том, как это сделать:

  4. Другой альтернативой (которая может использоваться в сочетании с вышеупомянутым) является настройка CORS:

  5. [117 ] CORS в Express с использованием TypeScript

    Если вы сделаете это, вам также необходимо добавить заголовок «Allow Origin» CORS в ваше приложение Angular:

    `'Access-Control-Allow-Origin':'*',`
    
12
задан kenorb 24 January 2017 в 22:39
поделиться

3 ответа

Вы не сказали, на какой платформе Вы хотите сделать это.

В Windows Вы могли использовать PowerGREP, который автоматически обнаруживает файлы Unicode, которые запускаются с метки порядка байтов. (Существует также опция автоматически обнаружить файлы без BOM. Автоматическое обнаружение очень надежно для UTF-8, но ограниченное для UTF-16.)

0
ответ дан 2 December 2019 в 21:24
поделиться

В соответствии с этой статьей блога 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-файлы нормальный путь.

1
ответ дан 2 December 2019 в 21:24
поделиться

Спасибо за предложения. Я обращался к 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 исходно.

4
ответ дан 2 December 2019 в 21:24
поделиться
Другие вопросы по тегам:

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