Grunt htmlmin errors



我使用的是grunt-contrib-htmlmin插件。这是我的Gruntfile.js看起来像:

module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    htmlmin: {
      dist: {
        options: {
          removeComments: true,
          collapseWhitespace: true
        },
        files: {
          '/views/build/404.html': '/view/src/404.html'
        }
      }
    }
  });
  grunt.loadNpmTasks('grunt-contrib-htmlmin');
  grunt.registerTask('default', ['htmlmin']);
};
没什么特别的,真的。我的404.html也很简单,但即使在更简单的HTML文件上,grunt也不起作用。例如,假设取以下HTML文件:
<html>
    <head>
    </head>
    <body>
    </body>
</html>

它甚至不能在上面工作。我在控制台得到的结果是:

Running "htmlmin:dist" (htmlmin) task
Minified 0 files (1 failed)
Done, without errors.

我在哪里可以看到它失败的原因?

我尝试了很多事情,比如删除options,我也尝试改变file的结构,我最终得到了这个:

files: {
    expand: true,
    cwd: 'views/src/',
    src: '404.html',
    build: 'views/build/404.html'
}

但这也不起作用,我现在得到的错误是:

Running "htmlmin:dist" (htmlmin) task
Warning: pattern.indexOf is not a function Use --force to continue.
Aborted due to warnings.

我做错了什么?

我不知道错误的实际原因。但是,通过添加方括号来修改源代码,如下所示,对我来说是有效的。

files: [{
    expand: true,
    cwd: 'views/src/',
    src: '404.html',
    build: 'views/build/404.html'
}]
  1. 查看日志运行命令:grunt task:target——verbose

    在你的情况下,它将是:grunt htmlmin:dist——verbose

  2. 错误似乎在你的文件路径:'/views/build/404.html'。'/'表示插件将从Unix系统的根文件夹开始搜索。使用相对路径:

    "视图/构建/404. html":"视图/src/404. html"

    ’。/视图/构建/404. html:"。/视图/src/404. . html"

注:对于所有其他的,请注意,在"文件"中,你应该首先指定目的地路径,然后才指定SRC路径。

 htmlmin: {
      dist: {
        options: {
          /* options here*/
        },
        files: {
          'path/to/destination/folder/404.html': 'path/to/src/folder/404.html'
        }
      }
    }

最新更新