Grunt手表与模板语法

时间:2013-11-29 20:45:39

标签: gruntjs

我正在尝试配置Grunt来观看我的文件较少,但它正在进入某种递归错误循环。

以下是Gruntfile.js的相关部分:

watch: {
    ...
    less: {
        files: ['<%= less.dev.files %>'],
        tasks: ['less:dev']
    }
},

less: {
    options: {
        paths: 'www/css',
        strictMath: true,
        strictUnits: true
    },
    dev: {
        options: {
            cleancss: false
        },
        files: {
            'www/css/main.css' : 'www/css/main.less'
        }
    },
    ...
}

一旦我在我的终端中徘徊grunt watch:less,我就明白了:

  

运行“观察:少”(观看)任务   等待...警告:对象#没有方法'indexOf'

     

运行“观察:少”(观看)任务   等待...警告:处理模板时发生错误(超出最大调用堆栈大小)   警告:处理模板时发生错误(处理模板时发生错误(超出最大调用堆栈大小)。)。   警告:对象#没有方法'indexOf'

重复一段时间,直到它挽救为止。

似乎<%= less.dev.files %>令人困惑。为什么?这不是正确的语法吗?

1 个答案:

答案 0 :(得分:3)

less.dev.files是一个对象。由于您只有一个配置,我建议使用src / dest模式并引用它:

watch: {
  less: {
    files: ['<%= less.dev.src %>'],
    tasks: ['less']
  }
},
less: {
  dev: {
    src: 'www/css/main.less'
    dest: 'www/css/main.css'
  }
}

否则,您需要使用以下内容引用对象中的键:

'<%= less.dev.files["www/css/main.css"] %>'