2009-06-24 2 views
12

Si verificano alcuni errori durante il tentativo di eseguire yuicompressor.Errori che utilizzano yuicompressor

dice:

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

Questo potrebbe essere perché sto salvandolo come la codifica sbagliato o qualcosa del genere?

+1

Potresti almeno pubblicare la riga incriminata? La prima linea, assumendo che non conta da zero? –

+0

Qualche fortuna qui Homestead? –

risposta

20

Ho riscontrato problemi con YUICompressor e file salvati in UTF-8 con il Byte Order Mark (BOM). L'impostazione predefinita per Visual Studio 2008 sembra essere quella di salvarli in questo modo. Per risolverlo, ho dovuto salvare il file con una codifica diversa. In VS2008, questo era File - Opzioni di salvataggio avanzate - Codifica: Unicode (UTF-8 senza firma).

+0

Qualcuno sa se è possibile utilizzare questa codifica quando si stampa un file tramite PowerShell? Concatenamento dei miei file con Powershell e, come la maggior parte delle app, preferisce utilizzare il BOM. – JoshNaro

3

Oltre al salvataggio in "UTF-8 senza codifica della firma", ho dovuto passare a terminazioni di linea in stile Windows (CR LF).

8

Ho incontrato questo problema oggi. Un'altra correzione consiste nel fornire l'opzione --charset utf-8 nella riga di comando.

+1

L'impostazione dell'opzione charset non mi ha aiutato con questo problema. Solo la risposta di Kevin (quella accettata) sembra funzionare per me. – JoshNaro

+0

+1 - Questo ha funzionato alla grande per me. (VS 2010, Windows 7, compressore versione 2.4.2) –

+0

Questo ha funzionato anche per me (VS2005, Windows XP, compressore versione 2.4.2) –

0

Durante la visualizzazione del file .js in Visual Studio 2008 ... File -> Opzioni di salvataggio avanzate -> Unicode (UTF-8 senza firma).

0

Solo nel caso in cui qualcuno sta usando PowerShell per concatenare i file, ho usato il seguente script PowerShell per aggirare questo problema:

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 

Avviso i parametri di codifica ASCII sia la concatenazione e la chiamata YUICompressor.

0

Ho avuto lo stesso problema con le codifiche utilizzando la versione .NET di YuiCompressor.

Risolto aggiungendo la EncodingType="UTF8" nel mio file di configurazione:

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

Per ulteriori opzioni di codifica, vedere la docs.