【问题标题】:Grunt watch with template syntax带有模板语法的 Grunt watch
【发布时间】:2013-11-29 20:45:39
【问题描述】:

我正在尝试配置 Grunt 以查看我的 less 文件,但它进入了某种递归错误循环。

这里是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 时,我得到了这个:

运行“watch:less”(监视)任务 等待...警告:对象 # 没有方法 'indexOf'

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

这会重复很长一段时间,直到它退出。

看来&lt;%= less.dev.files %&gt; 很困惑。为什么?这不是正确的语法吗?

【问题讨论】:

    标签: gruntjs


    【解决方案1】:

    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"] %>'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 2017-06-12
      • 1970-01-01
      • 2013-12-05
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多