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

时间:2016-05-26 10:47:21

标签: javascript css model-view-controller gulp minify

Haven在搜索和谷歌问题上找不到任何帮助。

我与Gulp和cssmin有问题。无法弄清楚导致错误的原因。我们的想法是将原始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)

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

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

有没有办法在没有它的情况下运行命令,所以首先删除所有min.css文件?

1 个答案:

答案 0 :(得分:0)

您的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重命名文件并将文件路径添加到名称中。 这将确保文件到达与原件完全相同的位置。