简体   繁体   中英

Grunt jade error

Whenever I run grunt jade I get an error:

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

Now here is my jade task:

    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/'
            }
        }
    }

So basically I am trying to take the jade files in src/static/jade (including subdirs, except _include ) and put them in build , keeping the directory structure. I have tryed commenting the expand line, however it gives me:

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

Perhaps I am going about this the wrong way. How should I fix this?

Your initial issues is that files should be an array of objects, not just an object: files: [{...}] .

But then you have other troubles with your file definition:

  • if you specify cwd , your src should not repeat it
  • your ext needs a starting .
  • your ! pattern needs to specify files instead of a dir

So you need:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM