Co robi kompilacja?
Kompilacja plików Sass przekształca arkusze stylów ze specyficzną dla Sass składnią, taką jak zagnieżdżanie selektorów i mixiny, w normalny CSS, który może być parsowany przez przeglądarki.
Jak poinstruować go, aby skompilował pliki .scss w powyższym folderze w folderze
public/build/css/?
Ponieważ już używasz Bower, który jest pakietem Node.js, zakładam, że nie masz problemu z używaniem pakietu Node.js node-sass zamiast oryginalnej wersji Ruby.
Po pierwsze, zainstaluj pakiet używając npm i -D node-sass. Następnie utwórz nowy skrypt wewnątrz package.json projektu:
"compile-sass": "node-sass resources/assets/sass/main.scss public/build/css/main.css"
main.scss jest teraz twoim punktem wejścia, w którym importujesz Bootstrap i inne arkusze stylów.
// 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 */
Wreszcie, aby faktycznie uruchomić kompilację, wykonaj npm run compile-sass w swoim terminalu.
Czy muszę skonfigurować nowe pliki .scss, czy mogę ustawić to tak, aby po prostu dodać je do folderu sass?
Ponieważ nigdy nie mówisz node-sass, aby „skompilował wszystko wewnątrz tego folderu” i zamiast tego użyj pliku punktu wejścia (main.js), kiedy chcesz dołączyć nowy plik, po prostu dodajesz dyrektywę @import ze względną ścieżką do niego.
Bonus, jak mogę powiedzieć mu, aby zminifikował plik wyjściowy lub nie (więc mogę eksperymentować z obydwoma sposobami)?
Aby zminifikować plik wynikowy main.css, polecam csso. Możesz zainstalować jego pakiet CLI za pomocą npm i -D csso-cli, a następnie dodać inny skrypt do swojego package.json:
"minify-css": "csso public/build/css/main.css public/build/css/main.min.css"
Możesz następnie uruchomić ten skrypt za pomocą npm run minify-css. Zminifikowany plik zostanie wyprowadzony jako main.min.css.
.