问题
When I run sass --watch app.sass:app.css
terminal shows that changes have been detected to sass but won't compile to css. I am using Bourbon so all my .scss and .sass files are imported via mixins.
ex.
>>> Sass is watching for changes. Press Ctrl-C to stop.
>>> Change detected to: css/2-modules/top-nav.scss
回答1:
Make sure the file you are saving with an _filename.scss
has been properly imported into the mainfile.scss
. if you have not imported the _filename.scss
it will detect a change but not compile.
回答2:
I had the same issue! In my case, it was caused by having several @imports
listed like this:
@import 'colors';
@import 'fonts';
@import 'size';
When i changed it to this it all started working again:
@import 'colors', 'fonts', 'size';
Although it should not be needed:
"Sass imports have the same syntax as CSS imports, except that they allow multiple imports to be separated by commas rather than requiring each one to have its own @import." - sass-lang.com/documentation
回答3:
check for the Config.rb file in your folder. without it you have to Ctr c every time and pass this command sass --watch scssname:cssname
then You can find your code in css.
回答4:
Are you sure all of your partials are being imported into app.scss? I had the same issue, only to realize the partial file I was modifying (_custom.scss) wasn't actually being imported by the main.scss.
回答5:
Create scss file by correct naming (make sure there is underscore "_")
_custom.scss
Import _custom.scss in main.scss (no underscore required)
// main.scss
@import "custom";
Compile the code
sass --watch main.scss main.css
This will compile the code properly.
来源:https://stackoverflow.com/questions/28100340/sass-watch-is-detecting-changes-but-not-compiling-to-css