我试图运行yuicompressor时出现了一些错误。
它显示:
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character
这可能是因为我保存的编码方式不正确或其他原因吗?
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character
这可能是因为我保存的编码方式不正确或其他原因吗?
我曾经在使用YUICompressor时遇到过一些问题,主要是涉及使用UTF-8带字节顺序标记(BOM)保存的文件。默认情况下,Visual Studio 2008会采用这种方式进行保存。为了解决这个问题,我不得不使用不同的编码方式来保存该文件。在VS2008中,操作步骤为文件 - 高级保存选项 - 编码 : Unicode (不带签名的UTF-8)。
今天我遇到了这个问题。另一个解决方法是在命令行中提供--charset utf-8
选项。
除了保存为“UTF-8无签名编码”外,我还需要切换到Windows风格的行结尾(CR LF)。
我在使用YuiCompressor的.NET版本时也遇到了编码问题。
通过在我的配置文件中添加EncodingType="UTF8"
来解决了这个问题:
<CssCompressorTask EncodingType="UTF8" SourceFiles="@(CssFiles)" OutputFile="path\styles.min.css" />
<JavaScriptCompressorTask EncodingType="UTF8" SourceFiles="@(JavaScriptFiles)" OutputFile="path\scripts.min.js" />
欲了解更多编码选项,请参阅文档。
如果有人正在使用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