Ошибки с использованием юикомпрессора
При попытке запуска юикомпрессора возникают некоторые ошибки.
он говорит:
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character
Может ли это быть потому, что я сохраняю его как неправильную кодировку или что-то в этом роде?
Ответы
Ответ 1
Я видел проблемы с YUICompressor и файлы, которые сохраняются в UTF-8 с отметкой байтового заказа (BOM). По умолчанию для Visual Studio 2008, похоже, следует сохранить их таким образом. Чтобы решить эту проблему, мне пришлось сохранить файл с другой кодировкой. В VS2008 это было Файл - Расширенные параметры сохранения - Кодировка: Юникод (UTF-8 без подписи).
Ответ 2
Я столкнулся с этой проблемой сегодня. Другое исправление заключается в предоставлении опции --charset utf-8
в командной строке.
Ответ 3
В дополнение к сохранению в разделе "UTF-8 без кодировки подписи" мне пришлось переключиться на окончания строки стиля Windows (CR LF).
Ответ 4
При просмотре файла .js в Visual Studio 2008... Файл → Расширенные параметры сохранения → Юникод (UTF-8 без подписи).
Ответ 5
На всякий случай кто-то использует Powershell для конкатенации файлов, я использовал следующую Powershell script, чтобы обойти эту проблему:
Get-Content `
JavaScript/file01.js,`
JavaScript/file02.js,`
JavaScript/file03.js `
| Set-Content JavaScript/Concat.js -Encoding Ascii
java.exe -jar ../../yuicompressor/build/yuicompressor-2.4.2.jar JavaScript/Concat.js -o JavaScript/Concat.min.js preserve-semi --charset ascii --type js
Обратите внимание на параметры кодирования ascii как для конкатенации, так и для вызова YUICompressor.
Ответ 6
У меня была та же проблема с кодировками, использующая версию YuiCompressor.NET.
Исправлено добавление EncodingType="UTF8"
в файл конфигурации:
<CssCompressorTask EncodingType="UTF8" SourceFiles="@(CssFiles)" OutputFile="path\styles.min.css" />
<JavaScriptCompressorTask EncodingType="UTF8" SourceFiles="@(JavaScriptFiles)" OutputFile="path\scripts.min.js" />
Дополнительные параметры кодирования см. в docs.