2012-10-29 22 views

回答

3

我與此評論 Refresh less css which has other imported less files without page load完全同意。 謝謝,thevasya。

但沒有必要啓動多個終端。

watch: { 
    less: { 
     files: ['less/*.less'], 
     tasks: 'less' 
    }, 
    reload: { 
     files: ['*.html', 
       'css/app.css', 
       'js/*.js'], 
     tasks: 'reload' 
    } 
} 

之後,你可以開始

$ grunt watch 

看,就是這樣。如果您更改了更少的文件,它將僅啓動less任務。

P.S:這個答案對於繁重的0.4適當的工作進行更新。

4

UPD。此語法適用於舊版本的Grunt版本,因此不應使用它。

您需要使用LiveReload應用這一點。或者也許是另一個可以使用LiveReload瀏覽器擴展程序重新加載頁面的軟件(也許是帶有插件的Sublime Text編輯器)。

可能的設置是與的Node.js Grunt已經咕嚕-的contrib少和咕嚕重裝載模塊安裝。

你grunt.js的配置應該是這樣的:

module.exports = function(grunt) { 
grunt.initConfig({ 
    // Start LiveReload server 
    reload: { 
     port: 35729, 
     liveReload: {} 
    }, 
    // Simple css compilation 
    less: { 
     src: 'less/app.less', 
     dest: 'css/app.css' 
    }, 
    // Reload files on change 
    watch: { 
     less: { 
      files: ['less/*.less'], 
      tasks: 'less' 
     }, 
     reload: { 
      files: ['*.html', 
        'css/app.css', 
        'js/*.js'], 
      tasks: 'reload' 
     } 
    } 
}); 

// Third party modules 
grunt.loadNpmTasks('grunt-reload'); 
grunt.loadNpmTasks('grunt-contrib-less'); 

// Register default task 
grunt.registerTask('default', 'less'); 
}; 

然後,你需要運行

$ grunt watch:less 

$ grunt watch:reload 

在兩個單獨的終端窗口。