如何让Dart-Sass监听依赖文件变化并自动编译main.scss?
解决Dart-Sass监听SCSS依赖文件自动编译的问题
问题核心
使用目录对目录的sass <base dir>:<target dir> --watch命令时,子目录中的_*.scss(partial文件)变化不会触发main.scss的重新编译——因为这种模式下Sass只会编译发生变化的单个文件,而partial文件本身不会被输出,所以无法关联触发main.scss的编译流程。
解决方案:监听主文件而非目录
直接指定main.scss作为输入文件,Dart Sass会自动追踪它的所有依赖文件(包括子目录中的partials),当任何依赖发生变化时,都会重新编译main.scss。
执行以下命令(替换输出路径为你的实际目标路径):
sass main.scss:dist/main.css --watch
额外说明
- 只要
main.scss通过@import或@use导入了子目录的partials,Dart Sass就会自动识别这些依赖并加入监听列表,无需额外配置。 - 确保使用最新版Dart Sass,旧版本可能存在依赖监听的bug,可通过
sass --version查看当前版本,直接从官方渠道更新即可。 - 该方案完全通过Windows命令行的Dart-Sass实现,不需要额外工具或npm依赖。
内容的提问来源于stack exchange,提问作者jamacoe
相关产品推荐
相关产品推荐

