我在我的gulp构建系统中使用了gulp-clean-css,但是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
它工作正常,没有问题。
似乎原因是cleancss试图重写现有的(原始(CSS文件。也许,原始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');
所以我想出了问题所在。在我正在使用的另一个任务中,我告诉csslint在我不应该的时候管道到gulp.dest ("build/css")
。然后cleancss试图覆盖该文件,但无法覆盖。
只需删除csslint管道连接到build/css
的行即可解决整个问题。