2015-06-27 37 views

回答

1

我設法設置了這一天,所以我會發佈一個可能的解決方案。

無論您正在嘗試使用grunt.config<%= ... %>模板動態地修改配置對象(共享的任務之間的數據),您的問題可能是watch,默認情況下,spawns child processes爲觸發任務,使eslint在不同的環境中運行。

爲了解決這個問題,只需在配置watch時使用spawn:false選項標誌。

基本上,配置任務,例如:

watch: { 
    scripts: { 
    files: ['**/*.js'], 
    tasks: ['eslint'], 
    options: { 
     spawn: false, // !!! 
    }, 
    }, 
}, 
eslint: { 
    target: '<%= changedFiles %>' 
} 

然後附加一個事件處理程序表事件,設置changedFiles

grunt.event.on('watch', function(action, filepath){ 
    grunt.config('changedFiles', filepath); 
} 

您也可以在事件處理程序修改eslint.target直接,但是擁有一個屬性可以承載更改後的文件,因此可用於任何可能使用它們的任務。

相關問題