2009-06-24 3 views
12

Ich bekomme einige Fehler, wenn Sie versuchen, yuicompressor auszuführen.Fehler mit yuicompressor

heißt es:

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

Könnte das sein, weil ich es als die falsche Codierung oder etwas speichere?

+1

Konnten Sie mindestens die beleidigende Linie bekannt geben? Die erste Zeile, vorausgesetzt, sie zählt nicht von Null? –

+0

Irgendein Glück hier Homestead? –

Antwort

20

Ich habe Probleme mit YUICompressor und Dateien, die in UTF-8 mit der Byte Order Mark (BOM) gespeichert sind, gesehen. Der Standard für Visual Studio 2008 scheint zu sein, sie auf diese Weise zu speichern. Um es zu lösen, musste ich die Datei mit einer anderen Kodierung speichern. In VS2008 war dies Datei - Erweiterte Speicheroptionen - Codierung: Unicode (UTF-8 ohne Signatur).

+0

Wer weiß, ob es möglich ist, diese Kodierung bei der Ausgabe einer Datei über Powershell zu verwenden? Ich verkette meine Dateien mit Powershell und mag es wie die meisten Apps, die Stückliste zu verwenden. – JoshNaro

3

Zusätzlich zum Speichern unter "UTF-8 ohne Signaturcodierung", musste ich zu Windows Stil Zeilenenden (CR LF) wechseln.

8

Ich lief heute über dieses Problem. Eine andere Lösung besteht darin, die Option --charset utf-8 in der Befehlszeile anzugeben.

+1

Das Einstellen der Zeichensatzoption hat mir bei diesem Problem nicht geholfen. Nur Kevins Antwort (die akzeptierte) scheint für mich zu funktionieren. – JoshNaro

+0

+1 - Das hat gut für mich funktioniert. (VS 2010, Windows 7, Kompressor Version 2.4.2) –

+0

Das hat auch bei mir funktioniert (VS2005, Windows XP, Kompressor Version 2.4.2) –

0

Beim Anzeigen der .js-Datei in Visual Studio 2008 ... Datei -> Erweiterte Speicheroptionen -> Unicode (UTF-8 ohne Unterschrift).

0

Nur falls jemand Powershell verwenden, um Dateien zu verketten, verwenden ich den folgenden Powershell-Skript, dieses Problem zu umgehen:

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 

Beachten Sie die ASCII-Kodierung beiden Parameter auf die Verkettung und YUICompressor Anruf.

0

Ich hatte das gleiche Problem mit Kodierungen mit der .NET-Version des YuiCompressor.

die EncodingType="UTF8" in meiner Konfigurationsdatei Feste und fügte hinzu:

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

Weitere Enkodieroptionen, die docs sehen.