树震动萨斯

时间:2018-05-04 19:20:15

标签: javascript node.js sass

我有一个包含许多旧/未使用的SCSS文件的大型项目。有没有办法,使用node-sasslibsass来树木或删除所有未在编译中使用的文件?

或者有没有办法简单地输出编译中使用的所有文件的列表,以便我可以交叉引用?

编辑:虽然似乎有解决方案从sass版本的输出中删除未使用的样式,但我仍然没有看到删除未使用的输入的有效方法文件

2 个答案:

答案 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
希望这会对你有所帮助
感谢。