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