使用yuicompressor时出现错误

13
我试图运行yuicompressor时出现了一些错误。 它显示:
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character

这可能是因为我保存的编码方式不正确或其他原因吗?


1
你能至少发布出错的那一行吗?第一行,假设它不是从零开始计数的? - Mark Rushakoff
这里 Homestead 有什么进展吗? - Pure.Krome
6个回答

21

我曾经在使用YUICompressor时遇到过一些问题,主要是涉及使用UTF-8带字节顺序标记(BOM)保存的文件。默认情况下,Visual Studio 2008会采用这种方式进行保存。为了解决这个问题,我不得不使用不同的编码方式来保存该文件。在VS2008中,操作步骤为文件 - 高级保存选项 - 编码 : Unicode (不带签名的UTF-8)


有人知道在通过Powershell输出文件时是否可以使用此编码吗?我正在使用Powershell串联我的文件,并且像大多数应用程序一样,它喜欢使用BOM。 - JoshNaro

8

今天我遇到了这个问题。另一个解决方法是在命令行中提供--charset utf-8选项。


1
设置字符集选项对我解决这个问题没有帮助。只有Kevin的答案(被接受的那个)似乎对我有效。 - JoshNaro
+1 - 这对我非常有用。(VS 2010,Windows 7,压缩器版本2.4.2) - James Skemp
这对我也起作用了(VS2005,Windows XP,压缩机版本2.4.2) - Ryan Kinal

3

除了保存为“UTF-8无签名编码”外,我还需要切换到Windows风格的行结尾(CR LF)。


0

我在使用YuiCompressor的.NET版本时也遇到了编码问题。

通过在我的配置文件中添加EncodingType="UTF8"来解决了这个问题:

<CssCompressorTask        EncodingType="UTF8" SourceFiles="@(CssFiles)"        OutputFile="path\styles.min.css" />
<JavaScriptCompressorTask EncodingType="UTF8" SourceFiles="@(JavaScriptFiles)" OutputFile="path\scripts.min.js" />

欲了解更多编码选项,请参阅文档


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 编码参数。

0
在 Visual Studio 2008 中查看 .js 文件时... 文件 -> 高级保存选项 -> Unicode (UTF-8 无签名)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接