我有一个包含许多旧/未使用的SCSS文件的大型项目。有没有办法,使用node-sass
或libsass
来树木或删除所有未在编译中使用的文件?
或者有没有办法简单地输出编译中使用的所有文件的列表,以便我可以交叉引用?
编辑:虽然似乎有解决方案从sass版本的输出中删除未使用的样式,但我仍然没有看到删除未使用的输入的有效方法文件
答案 0 :(得分:4)
如果将:line_comments
选项设置为true,则生成的输出将包含行号和源文件,其中定义了每个规则。您应该获得如下输出:
/* line 20, sass/_reset.sass */
body {
line-height: 1;
color: black;
background: white;
}
使用node-sass时,选项为sourceComments: true
。
gulp.task('styles', function() {
return gulp.src('src/sass/**/*.scss')
.pipe(sass({
style: 'expanded',
sourceComments: true
}))
.pipe(gulp.dest('path/to/file.css'))
所以做那样的事情,然后就可以做到:
grep '^/\* line \d*, .*\*/' path/to/file.css
您将获得如下输出:
path/to/file.css:/* line 20, sass/_reset.sass */
然后你只需编写一些脚本来删除那些没有出现在该列表中的文件。
答案 1 :(得分:2)
Here你找到了一个shell脚本。对于SCSS和更少。
按照这个指示
1。使用此脚本使用.sh创建文件
2。运行chmod + x ./your-file.sh
3。运行./your-file.sh less / sass
希望这会对你有所帮助
感谢。