2013-03-27 3 views
26

Я пытаюсь что-то сделать, чтобы что-то сделать. Мой проект выглядит следующим образом:Grunt, Less и File Watching

/app 
    /assets 
     /components 
     /stylesheets 
      /less 
       /file1.less 
       /file2.less 
       /file3.less 
       /importAll.less 
      /css 

Я хочу, чтобы это так, что, когда file1, file2 или file3 сохраняются в файле importAll.less компилируется в CSS и поместить в /css/style.css. Это, насколько я понял.

less: { 
    development: { 
     options: { 
      paths: ["./assets/stylesheets/less"], 
      yuicompress: true 
     }, 
     files: { 
      "./assets/stylesheets/css/style.css": "./assets/stylesheets/less/importAll.less" 
     } 
    } 
} 

Я не уверен, как заставить наблюдателя файлов работать.

ответ

54

У меня есть работа со следующим!

module.exports = function(grunt) { 
    grunt.initConfig({ 
     less: { 
      development: { 
       options: { 
        paths: ["./assets/stylesheets/less"], 
        yuicompress: true 
       }, 
       files: { 
        "./assets/stylesheets/css/style.css": "./assets/stylesheets/less/style.less" 
       } 
      } 
     }, 
     watch: { 
      files: "./assets/stylesheets/less/*", 
      tasks: ["less"] 
     } 
    }); 
    grunt.loadNpmTasks('grunt-contrib-less'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
}; 
+13

Для новичка, как я, это, вероятно, упомянуть, что для запуска только 'grunt' вам необходимо определить задачи по умолчанию, как' grunt.registerTask («по умолчанию», «часы»); 'Для справки [ docs] (http://gruntjs.com/api/grunt.task#grunt.task.registertask) –

+1

Как известно, чтобы запустить 'less: development', когда у вас может быть несколько задач в блоке' less {} ' ? –

+2

@WillshawMedia для запуска только части «разработки», используйте «grunt less: development». 'grunt less' будет работать под' less' – tivnet

Смежные вопросы