2014-10-05 38 views
0

我试图用咕噜手表编译减档,我有一个包含较少的文件和2个的目标文件夹2个文件夹,但它让我看到了一个错误:使用grunt watch将多个文件夹从LESS复制到CSS?

object has no method 'indexOf;

gruntfile.js代码:

module.exports = function(grunt) { 
    grunt.initConfig({ 
    less: { 
     options: { 
     paths: ["./less"], 
     yuicompress: true 
     }, 
     files: [{ 
     expand: true, 
     cwd: './less', 
     src: ['*.less', '!{fonts, variable, mixins}*.less'], 
     dest: './css', 
     ext: '.css' 
     }, { 
     expand: true, 
     cwd: './less', 
     src: '*.less/themes', 
     dest: './css/themes', 
     ext: '.css' 
     }], 
    }, 
    watch: { 
     files: "./less/*", 
     tasks: ["less"] 
    } 
    }); 
    grunt.loadNpmTasks('grunt-contrib-less'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 

    grunt.registerTask('default', ['watch']); 
}; 

你可以看到;文件:'选项是包含2个不同的文件夹。

回答

1

监视themes我想你应该附上这在“模式”变量,如“发展”或“生产”。 像这样:

less: { 
    development: { 
     options: { 
     paths: ["./less"], 
     yuicompress: true 
     }, 
     files: [{ 
     expand: true, 
     cwd: './less', 
     src: ['*.less', '!{fonts, variable, mixins}*.less'], 
     dest: './css', 
     ext: '.css' 
     }, { 
     expand: true, 
     cwd: './less', 
     src: '*.less/themes', 
     dest: './css/themes', 
     ext: '.css' 
     }] 
    } 
    } 

此外,“文件”后阵,有一个额外的不必要的逗号,在我的示例中删除...

更新手表后来以下几点:

watch: { 
     files: "./less/*", 
     tasks: ["less:development"] 
    } 
1

你可以尝试创建2个目标(不知道如果这是正确的术语),并将他们的担忧分开。然后运行它们为watch。还调整了你的手表任务,通过使用深显示器通配符

less : { 
    options : {...}, 
    styles : {...}, 
    themes : {...}, 
}, 
watch : { 
    files : './less/**/*.less', 
    tasks : ['less:styles','less:themes'], 
} 
相关问题