gruntjs - No se puede hacer que gruñido-contribución-brújula funcione
compass-sass (2)
Entonces tengo la siguiente situación. Cuando uso brújula solo de CLI, solo funciona y hace exactamente lo que se requiere. Estoy ejecutando la compass compile
desde la misma carpeta donde se config.rb
archivo config.rb
(en la carpeta de styles
). También contiene directorios sass
y css
. Aquí está mi archivo config.rb
:
project_path = ''.''
css_dir = "css"
sass_dir = "sass"
images_dir = "../../data/images"
javascripts_dir = "../scripts"
output_style = :compressed
environment = :development
relative_assets = true
Cuando intento usar grunt
para esto, utilizo la siguiente configuración en Gruntfile.js
:
compass: {
compile: {
options: {
basePath: ''app/src/styles'',
config: ''app/src/styles/config.rb''
}
}
}
La carpeta de app
y Gruntfile.js
se encuentran en el mismo nivel. Cuando estoy ejecutando grunt compass
veo el siguiente resultado:
Running "compass:dist" (compass) task
Nothing to compile. If you''re trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help.
Done, without errors.
Si trato de especificar todas las opciones directamente como:
compass: {
compile: {
options: {
basePath: ''app/src/styles'',
sassDir: ''app/src/styles/sass'',
cssDir: ''app/src/styles/css'',
imagesDir: ''app/data/images''
}
}
}
Hace el trabajo, pero la carpeta .sass-cache
se crea a nivel de Gruntfile.js
. Así que supongo que hay algún problema con la opción basePath
de la configuración.
¿Estoy haciendo algo mal?
EDITAR :
De la única forma, logré que funcionara, como estaba previsto mover el archivo config.rb
al nivel de Gruntfile.js
y especificar las siguientes opciones en él:
project_path = ''app/src/styles''
css_dir = "css"
sass_dir = "sass"
images_dir = "../../data/images"
javascripts_dir = "../scripts"
output_style = :compressed
environment = :development
relative_assets = true
También eliminé todas las opciones del ''Gruntfile.js`, que se refiere a esta tarea. Todavía no estoy seguro, qué está pasando aquí.
si necesita una ruta base diferente para su proyecto que su config.rb, puede establecer la ruta en config.rb (incluso relativa)
Ejemplo config.rb
project_path = "../src/main/webapp/"
http_path = "./"
css_dir = "css"
sass_dir = "../library"
images_dir = "assets/images"
fonts_dir = "assets/fonts"
javascripts_dir = "assets/js"
...
relative_assets = true
Ejemplo SCSS
.stylesheet-url {
content:stylesheet-url("style.css");
}
.font-url {
content:font-url("font.woff");
}
.image-url {
content:image-url("image.png");
}
.generated-image-url {
content:generated-image-url("image2.png");
}
Ejemplo de CSS
.stylesheet-url {
content: url(''style.css'');
}
.font-url {
content: url(''../assets/fonts/font.woff'');
}
.image-url {
content: url(''../assets/images/image.png'');
}
.generated-image-url {
content: url(''../assets/images/image2.png'');
}
Ejecutamos Compass 0.12.latest en Win7 x64
Intente no configurar el basePath en la configuración de Grunt, es decir:
compass: {
compile: {
options: {
basePath: ''app/src/styles'',
config: ''app/src/styles/config.rb''
}
}
}
Convierta en:
compass: {
compile: {
options: {
config: ''app/src/styles/config.rb''
}
}
}
Y también ejecute su Grunt Compass
con el modificador --verbose ( grunt compass --verbose
) para ver qué archivos está intentando procesar el ronco.
Tenga en cuenta que cualquier configuración que agregue a sus opciones en el archivo Grunt anulará (o ampliará) la configuración en su archivo config.rb.
Echa un vistazo a esta página: https://github.com/gruntjs/grunt-contrib-compass
para ver más información sobre grunt-contrib-compass. ellos tienen información sobre todas las opciones posibles.