我正在使用gulp-clean-css和我的gulp构建系统,但clean-css并没有缩小文件。如果我将目标目录更改为其他任何目录,它将正常工作并缩小文件。目标目录“build / css /".
这是我的代码:
gulp.src ("css/*.css")
.pipe (cleancss ({ level: 2 }))
.pipe (gulp.dest ("build/css"));
工作代码但在错误的目录中:
gulp.src ("css/*.css")
.pipe (cleancss ({ level: 2 }))
.pipe (gulp.dest ("build/csss"));
在cleancss的命令行版本中:
cleancss css/game.css -o build/css/game.css
没有任何问题,它可以正常工作。
答案 0 :(得分:1)
似乎原因是cleancss试图重写现有(原始)CSS文件。也许原始CSS文件被阻止进行更改,实际上会阻止您删除原始* .css文件。
所以你有两个选择:
如果您在原始文件夹中保存已清理文件非常重要,请重命名已清除的文件。另外,建议在清理之前连接所有CSS文件。它将允许您在页面加载上节省一些额外的时间。
gulp.src("css/*.css")
.pipe(cleancss ({ level: 2 }))
.pipe(concat('styles.css'))
.pipe(rename('styles.min.css'))
.pipe(gulp.dest ("build/csss"));
别忘了安装所需的模块。
var concat = require('gulp-concat');
var rename = require('gulp-rename');
答案 1 :(得分:1)
所以我想出了问题所在。在我正在使用的另一项任务中,我告诉csslint在我不应该的时候输送到gulp.dest ("build/css")
。然后cleancss试图覆盖该文件,但无法进行。
只需删除csslint管道到build/css
的行,就可以解决整个问题。