3

我已经定义了一个 uncss grunt 任务,我想将 .min.css 添加到文件夹 /css 中的所有文件内容中,但是当我运行 grunt 命令并保存我的 css 更改(正在查看任务)时,我收到以下错误在控制台中:

Unable to write "css" file (Error code: EISDIR

这是我的 cssmin 任务:

// Cssmin task config
    cssmin: {
      target: {
        files: [{
          src: ['css/*.css', 'css/!*.min.css'],
          dest: 'css',
        }]
      }
    }

这是我完整的 Gruntfile.js:

//Gruntfile.js
module.exports = function (grunt) {
  grunt.initConfig({

    // Watch task config con Sass
    watch: {
      sass: {
        files: "scss/*.scss",
        tasks: ['sass']
      },
      cssmin: {
        files: "css/*.css",
        tasks: ['cssmin']
      }
    },

    // Sass task config
    sass: {
        dev: {
            files: {
                // fichero destino  // fichero .scss
                "css/custom.css" : "scss/custom.scss"
            }
        }
    },

    // BrowserSync task config
    browserSync: {
      default_options: {
        bsFiles: {
          src: [
            "css/*.css",
            "js/*.js",
            "*.html"
          ]
        },
        options: {
          watchTask: true,
          proxy: "tutorialmaterialize.dev"
          }
        }
      },

    // UnCSS task config  
    uncss: {
        dist: {
            options: {
               //Estilos que queremos limpiar
               stylesheets : ['css/materialize.min.css'],

               //Estilos que no queremos limpiar
               ignoreSheets: [/custom.css/], 
            },
            files: {
                    //Archivo css de salida    //Scanea las clases, ids, etc de este html
                    'css/materialize.min.css': ['index.html']
            }
        }
    },

    // Cssmin task config
    cssmin: {
      target: {
        files: [{
          src: ['css/*.css', 'css/!*.min.css'],
          dest: 'css',
        }]
      }
    }

    });

  //Cargamos los grunt plugins
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-sass');
  grunt.loadNpmTasks('grunt-browser-sync');
  grunt.loadNpmTasks('grunt-uncss');
  grunt.loadNpmTasks('grunt-contrib-cssmin');

 //Tarea por defecto
 grunt.registerTask('default', ['browserSync', 'watch']);
};

最后这是我的项目结构:

 materialize-css/
  |--css/
  |  |--materialize.min.css
  |  |--custom.css
  |
  |--img/
  | 
  |--fonts/
  |  |--material-design-icons
  |  |--roboto 
  |
  |--js/
  |  |--materialize.min.js
  |
  |--index.html

我怎样才能解决这个问题?

4

1 回答 1

0

我有类似的问题,我通过将 dest 路径更改为/css

cssmin: {
    options: {
        compatibility: 'ie9'
    },
    compress: {
        src: ['css/reveal.css', 'css/main.css'],
        dest: '/css'
    }
}
于 2019-09-14T00:18:19.410 回答