2014-10-05 75 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'], 
} 
相關問題