2009-06-24 21 views
12

Recibo algunos errores al intentar ejecutar yuicompressor.Errores al utilizar yuicompressor

que dice:

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

Podría ser porque estoy ahorrando como la codificación equivocada o algo?

+1

¿Podría al menos publicar la línea ofensiva? La primera línea, ¿suponiendo que no cuente desde cero? –

+0

¿Alguna suerte aquí, Homestead? –

Respuesta

20

He visto problemas con YUICompressor y archivos guardados en UTF-8 con la Marca de orden de bytes (BOM). El valor predeterminado para Visual Studio 2008 parece ser guardarlos de esta manera. Para resolverlo, tuve que guardar el archivo con una codificación diferente. En VS2008, esto era Archivo - Opciones avanzadas de guardado - Codificación: Unicode (UTF-8 sin firma).

+0

¿Alguien sabe si es posible usar esta codificación al enviar un archivo a través de Powershell? Estoy concatenando mis archivos con Powershell, y como la mayoría de las aplicaciones, me gusta usar la lista de materiales. – JoshNaro

3

Además de guardar en "UTF-8 sin codificación de firma", tuve que cambiar a terminaciones de línea de estilo de Windows (CR LF).

8

Me encontré con este problema hoy. Otra solución es proporcionar la opción --charset utf-8 en la línea de comando.

+1

Establecer la opción de conjunto de caracteres no me ayudó con este problema. Solo la respuesta de Kevin (la aceptada) parece funcionar para mí. – JoshNaro

+0

+1 - Esto funcionó muy bien para mí. (VS 2010, Windows 7, compresor versión 2.4.2) –

+0

Esto también me funcionó (VS2005, Windows XP, compresor versión 2.4.2) –

0

Al visualizar el archivo .js en Visual Studio 2008 ... Archivo -> Opciones de guardado avanzadas -> Unicode (UTF-8 sin firma).

0

Por si acaso alguien está usando Powershell para concatenar archivos, he utilizado la siguiente secuencia de comandos de PowerShell para evitar este 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 

Aviso los parámetros de codificación ASCII tanto en la concatenación y la llamada yuicompressor.

0

He tenido el mismo problema con las codificaciones usando la versión .NET del YuiCompressor.

Se ha corregido añadiendo la EncodingType="UTF8" en mi fichero de configuración:

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

Para más opciones de codificación, ver la docs.

Cuestiones relacionadas