tutorial scss grunt contrib compile sass gruntjs grunt-contrib-sass

grunt - sass compile scss



Cómo compilar varios archivos scss usando grunt-sass (5)

Estoy tratando de compilar múltiples archivos .scss en un solo archivo CSS. Esto realmente funciona, pero solo toma el primer archivo ...

sass: { // Task dist: { files: { ''css/test.css'':''sass/*.scss'' } } }

No tenemos instalado ruby, por lo que grunt-contrib-sass no es una opción. Hago lo mismo en Stylus así ...

stylus: { compile : { files : { ''css/g.css'' : ''stylus/*.styl'' } } }


¿Qué hay de ejecutar grunt-contrib-concat primero?

concat: { dist: { src: [ ''sass/*.scss'', ], dest: ''sass/build.scss'', } }, sass: { // Task dist: { files: { ''css/test.css'':''sass/build.scss'' } } }

y luego tarea:

grunt.registerTask(''sass'', [''concat'', ''sass'']);

editar

¿Cómo estás usando @import ? No soy un experto en los detalles, pero esto es lo que hago ...

dir /

main.scss _nav.scss _vars.scss etc.

main.scss

@import "nav"; @import "vars"; etc.


Puedes usar "grunt-sass-globbing". Generará un archivo SCSS con todas las importaciones que especificó en su Gruntfile. https://www.npmjs.com/package/grunt-sass-globbing/

Con esta opción, puede conservar sus mapas de origen y no necesita concatenar sus archivos SCSS.

Paso 1: Crear archivo de importación

sass_globbing: { your_target: { options: { useSingleQuotes: false, signature: ''// Hello, World!'' }, files: { ''imports.scss'': ''partials/**/*.scss'', } } }

Paso 2: compila tu archivo de importación

sass: { options: { sourceMap: true }, develop: { files: { ''main.css'': ''imports.scss'' } } }



Solo quiero tocar esto, porque tuve el mismo problema, y ​​esto realmente funcionará:

sass: { // Task dist: { files: [{ // Set to true for recursive search expand: true, cwd: ''scss/'', src: [''**/*.scss''], dest: ''css/'', ext: ''.css'' }] } }

¡Déjame saber como va!


es muy sencillo.

digamos que tienes esta estructura con 2 archivos scss:

scss/ core/file.scss templates/file2.scss main.scss

entonces lo que debes hacer es: crear un archivo llamado: main.scss en tu carpeta raíz de scss e importar todos tus archivos de scss:

por ejemplo: main.scss tendrá:

@import "core/file.scss" @import "templates/file2.scss"

ahora usa grunt-contrib-sass y simplemente llama al archivo main.scss :

hecho :)

//Sass =============================== var sass; config.sass = sass = {}; //production sass.dist = { options: { style: "compressed"} , files: { "public/stylesheets/myapp.production.css" : "sass/main.scss" } }; //development env. sass.dev = { options: { style: "expanded", lineNumber: true} , files: { "public/stylesheets/myapp.development.css" : "sass/main.scss" } };