Gulp创建新的CSS文件,但不会覆盖现有的CSS文件

时间:2019-12-14 15:43:46

标签: gulp

我对Gulp比较陌生。

我遇到的问题是:虽然Gulp确实在正确的位置创建了一个非常好的CSS文件,但它不会覆盖此文件,从而使我的watch任务毫无用处。

这是我的images任务:

gulp.task('styles', () => {
  return gulp.src(`${SRC_ASSET_PATH}styles/app.scss`)
    //some pipes
    .pipe(rename({ extname: '.css' }))
    .pipe(gulp.dest(DIST_ASSET_PATH));
});

还有watch任务:

gulp.task('watch', () => {
  // some other things
  gulp.watch(`${SRC_ASSET_PATH}styles/**/*.scss`, gulp.series('styles'));
});

watch任务似乎运行良好。当我对app.scss文件进行更改时,控制台会显示style任务正在运行(实际上,每次我进行更改时,它都会运行两次)。

我的/styles/文件夹有几个子文件夹,其根目录中有app.scss,并且在子文件夹中的所有文件上都使用了@import

现在出现问题:

正如我所说,如果删除dist文件夹,运行gulp watch并更改CSS,则会创建一个新的app.css文件,并且一切正常。但是,如果我继续编辑,则什么都没有改变。

我尝试了各种方法来解决此问题(删除我的所有管道,生成.scss文件而不是.css,运行单独的任务以在进行任何更改之前删除css文件,等等。 )。

我怀疑是因为许可。

如果我查看app.css的许可,它会显示-rw-rw-r--

如果我运行sudo chmod 777 app.css并再次检查,则权限为-rwxrwxrwx,但是有趣的是,一旦我更改CSS并再次运行watch任务,它就会回到{ {1}}(实际上没有更改文件)。

我在此上花了三个小时,不知道下一步该怎么做。非常感谢您的帮助。 谢谢!

0 个答案:

没有答案