O que compila?
Compilar arquivos Sass transforma folhas de estilo com sintaxe específica de Sass, como agrupamento de seletores e mixins em CSS normais que podem ser analisados pelos navegadores.
Como instruí-lo para compilar os arquivos .scss na pasta acima na pasta
public/build/css/
?
Desde que você já esteja usando o Bower que é um pacote Node.js, presumo que você não tenha problemas em usar o pacote Node.js node-sass
em vez da versão original Ruby.
Primeiro, instale o pacote usando npm i -D node-sass
. Depois, crie um novo script dentro do seu projeto package.json
:
"compile-sass": "node-sass resources/assets/sass/main.scss public/build/css/main.css"
main.scss
é agora o seu ponto de entrada onde você importa o Bootstrap e suas outras folhas de estilo.
// I don't know whether this path is correct// Just find out the location of "_bootstrap.scss" and then create the relative path@import "../../../bower_components/bootstrap-sass/assets/stylesheets/_bootstrap.scss";/* Your custom SCSS */
Finalmente, para realmente executar a compilação, execute npm run compile-sass
no seu terminal.
Preciso configurar novos arquivos .scss ou posso configurá-los de forma a apenas adicioná-los a essa pasta sass?
Desde que nunca diga a node-sass
para “compilar tudo dentro desta pasta” e em vez disso use um ficheiro de ponto de entrada (main.js
), quando quiser incluir um novo ficheiro basta adicionar uma directiva @import
com um caminho relativo a ele.
Bonus, como dizer para minificar o ficheiro de saída, ou não (para que eu possa experimentar com ambas as maneiras)?
Para minificar o ficheiro resultante main.css
, eu recomendo csso
. Você pode instalar seu pacote CLI usando npm i -D csso-cli
e então adicionar outro script ao seu package.json
:
"minify-css": "csso public/build/css/main.css public/build/css/main.min.css"
Você pode então executar esse script usando npm run minify-css
. O arquivo minificado será gerado como main.min.css
.
.