使用yuicompressor的错误

时间:2009-06-24 02:57:37

标签: javascript java c# yui-compressor

尝试运行yuicompressor时出现了一些错误。

它说:

[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character

这可能是因为我将其保存为错误的编码或其他内容吗?

6 个答案:

答案 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