2017-08-03 56 views
0

我使用gulp-clean-css和我的gulp构建系统,但是clean-css并没有缩小这些文件。如果我将目标目录更改为其他任何内容,它将正常工作并缩小文件。目标目录“build/css /”。gulp-clean-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

所以我想通了这个问题。在我正在使用的另一个任务中,我告诉csslint在我不应该的时候输入gulp.dest ("build/css")。然后cleancss试图覆盖该文件,但无法。

简单地删除csslint管道到build/css的行解决了整个问题。

0

这似乎是因为cleancss试图重写现有的(原始)CSS文件。也许,原始的CSS文件被阻止进行更改,并且实际上防止您删除原始的* .css文件。

所以,你有2种选择:

  1. 更改目标文件夹,它将使解决冲突。
  2. 重命名已清理的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'); 
+0

CleanCSS不应该覆盖文件。它应该从js /目录中取出文件并将它们放到build /目录中。我不想更改我的目标文件夹或重命名我的文件,为什么不这样做没有这样做? –

相关问题