如何避免node-sass编译时输出子目录下的CSS文件?
解决node-sass编译子目录SCSS文件的问题
问题出在你当前命令里的--recursive参数上——这个参数会让node-sass遍历指定目录下的所有子目录,把每个SCSS文件都单独编译输出,这就是子目录文件也被生成的原因。
要实现只输出global.css的需求,你只需要做两个简单调整:
- 移除
--recursive参数,避免遍历子目录 - 把入口文件明确指定为根目录下的
global.scss(你当前命令里写的styleguide.scss应该是笔误吧?)
修改后的package.json中scripts命令如下:
"scripts": { "scss": "node-sass --watch assets/scss/global.scss -o assets/css" }
这样配置后,node-sass只会监听并编译global.scss这一个入口文件,它通过@import引入的子目录SCSS代码会被合并到最终的global.css里,而子目录里的单个SCSS文件不会被单独编译输出到assets/css目录下。
如果之后需要新增多个入口文件,也可以用逗号分隔指定多个文件,比如node-sass --watch assets/scss/global.scss,assets/scss/another.scss -o assets/css,同样不需要--recursive参数。
内容的提问来源于stack exchange,提问作者Pratik Mehta
相关产品推荐
相关产品推荐

