尝试运行yuicompressor时出现了一些错误。
它说:
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character
这可能是因为我将其保存为错误的编码或其他内容吗?
答案 0 :(得分:20)
我已经看到了YUICompressor的问题以及使用字节顺序标记(BOM)以UTF-8保存的文件。 Visual Studio 2008的默认设置似乎是以这种方式保存它们。要解决它,我必须使用不同的编码保存文件。在VS2008中,这是文件 - 高级保存选项 - 编码:Unicode(UTF-8无签名)。
答案 1 :(得分:8)
我今天遇到了这个问题。另一个解决方法是在命令行上提供--charset utf-8
选项。
答案 2 :(得分:3)
除了在“没有签名编码的UTF-8”下保存,我不得不切换到Windows样式行结尾(CR LF)。
答案 3 :(得分:0)
在Visual Studio 2008中查看.js文件时...文件 - >高级保存选项 - > Unicode(UTF-8无签名)。
答案 4 :(得分:0)
万一有人使用Powershell连接文件,我使用以下Powershell脚本来解决这个问题:
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
注意连接和YUICompressor调用上的ascii编码参数。
答案 5 :(得分:0)
使用.NET版YuiCompressor进行编码时遇到了同样的问题。
修复了我在配置文件中添加EncodingType="UTF8"
的问题:
<CssCompressorTask EncodingType="UTF8" SourceFiles="@(CssFiles)" OutputFile="path\styles.min.css" />
<JavaScriptCompressorTask EncodingType="UTF8" SourceFiles="@(JavaScriptFiles)" OutputFile="path\scripts.min.js" />
有关更多编码选项,请参阅docs。