Grunt jade 错误

5
每当我运行grunt jade时,就会出现错误:

Warning: pattern.indexOf is not a function Use --force to continue.

现在我有一个Jade任务:
    jade: {
        options: {
            pretty: true
        },
        all: {
            files: {
                expand:true,
                cwd: 'src/static/jade',
                ext: "html",
                src: ['src/static/jade/**/*.jade', '!src/static/jade/_includes'],
                dest: 'build/'
            }
        }
    }

基本上,我正在尝试将src/static/jade中的jade文件(包括子目录,但不包括_include)放入build中,并保留目录结构。我已经尝试注释掉expand行,但这会给我带来以下问题:

 Warning: Unable to read "src/static/jade" file (Error code: EISDIR). Use --force to continue.

也许我是走错了方向。我应该怎样修复它?
1个回答

13

你的最初问题在于 files 应该是一个对象数组,而不仅仅是一个对象:files: [{...}]

但是,您还有其他文件定义方面的问题:

  • 如果您指定了 cwd,则您的 src 不应重复它
  • 您的 ext 需要以 . 开头
  • 您的 ! 模式需要指定文件而不是目录

所以您需要:

files: [{
       expand:true,
       cwd: 'src/static/jade/',
       ext: ".html",
       src: ['**/*.jade', '!_includes/**/*.jade'],
       dest: 'build/'
}]

数组的问题是我的问题。我只是添加了ext和cwd选项来尝试修复错误。谢谢! - Kaiden Prince

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接