Actualización 3/5/2012: Los chicos de Bootstrap han solucionado este problema en la versión 2.0.2 de Bootstrap (aún no publicada). Ver this commit.
El error subyacente es que la versión actual de less.js no le permite utilizar una variable para la url() valor directamente (por ejemplo url(@iconWhiteSpritePath)
) - en lugar usted tiene que utilizar la interpolación de cadenas (por ejemplo url("@{iconWhiteSpritePath}")
) , que logra lo mismo. Los chicos de bootstrap simplemente actualizaron su sintaxis para tener en cuenta esta peculiaridad.
respuesta original
me encontré con el problema exacto y hoy cuenta de la causa de la misma.Dado que tu stack está en algunas versiones antes que la mía (estoy usando Bootstrap 2.0 y less.js 1.2.2) no puedo estar seguro de que sea el mismo problema, pero posiblemente esté relacionado.
De todos modos, el problema para mí fue que Twitter Bootstrap es definir algunas variables:
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
Y luego usarlos directamente en el valor url() para una imagen de fondo en sprites.less:
[class^="icon-"],
[class*=" icon-"] {
display: inline-block;
width: 14px;
height: 14px;
line-height: 14px;
vertical-align: text-top;
background-image: url(@iconSpritePath);
background-position: 14px 14px;
background-repeat: no-repeat;
.ie7-restore-right-whitespace();
}
.icon-white {
background-image: url(@iconWhiteSpritePath);
}
por la discusión en this Github issue que está causando un problema importante. Cuando less.js se ahoga en este valor, la compilación completa falla.
La buena noticia es que hay una solución a ese problema, proporcionada por csnover. Sólo cambia esta línea en tree.URL:
if (typeof(window) !== 'undefined' && !/^(?:https?:\/\/|file:\/\/|data:|\/)/.test(val.value) && paths.length > 0) {
a
if (typeof(window) !== 'undefined' && typeof(val.value) !== 'undefined' && !/^(?:https?:\/\/|file:\/\/|data:|\/)/.test(val.value) && paths.length > 0) {
y que debe ser fijado. En otras palabras, solo nos aseguramos de que val.value esté configurado para que charAt() no se ahogue en un valor indefinido.
Esperemos que este arreglo se confirme pronto en el proyecto y Bootstrap trabajará con less.js en el entorno del navegador de fábrica.
Se puede publicar su style.less? – Todd
@Todd actualizó la publicación. El style.less funciona bien sin embargo. – briangallagher
¿muestra la hoja de estilos cargada/procesada dentro de la consola? –