Gulp js cssmin 问题。无法覆盖现有的缩小文件

Gulp js cssmin issue. Can't overwrite existing minified files

我的搜索问题和 google 没有找到任何帮助。

我在 Gulp 和 css 分钟时遇到问题。无法弄清楚是什么导致了错误。这个想法是将原始 css 文件和缩小版本保存在同一个文件夹中,不需要串联。 我的 gulp 任务代码:

  gulp.task("min:css", function ()
{
    return gulp.src([paths.css, "!" + paths.minCss], { base: "." })
        .pipe(cssmin())
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest('.'));
});

我在 运行 完成任务后遇到错误:

[13:30:47] Starting 'min:css'...
[13:30:49] 'min:css' errored after 1.59 s
[13:30:49] Error: EPERM: operation not permitted, open '%file location%\bootstrap-theme.min.css' at Error (native)

更新:删除bootstrap-theme.min.css后,错误是由另一个引起的。结论:任务无法覆盖现有的 min.css 文件。

UPD:设法使其在构建之前删除所有 .min.css 文件并在构建之后 运行ning 任务。不是最好的解决方案。

有什么方法可以 运行 没有那个命令,所以首先删除所有 min.css 文件?

您的 CSS 文件是否在嵌套文件夹中?

编辑 -

return gulp.src([paths.css, "!" + paths.minCss])
  .pipe(cssmin())
  .pipe(plugins.rename(function (path) {
    path.basename += '.min';
    path.dirname += '';
  }))
  .pipe(gulp.dest('{root folders name}'));

这样做的目的是将文件重命名为 .min 并将文件路径添加到名称中。 这将确保文件到达与原件完全相同的位置。