2015-06-27 10 views

risposta

1

Sono riuscito a impostare l'altro giorno, quindi pubblicherò una possibile soluzione.

Indipendentemente dal fatto che si sta cercando di usare grunt.config o <%= ... %> template per modificare dinamicamente l'oggetto di configurazione (per condividere dati tra i compiti), il problema potrebbe essere che watch, per impostazione predefinita, spawns child processes per i compiti innescato, rendendo eslint correre in un contesto diverso.

Per ovviare a questo, è sufficiente utilizzare il flag di opzioni spawn:false durante la configurazione di watch.

In sostanza, configurare le attività in quanto tale:

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

quindi collegare un gestore di eventi per l'evento orologio, impostare changedFiles:

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

È inoltre possibile modificare eslint.target direttamente nel gestore di eventi , ma avendo un attributo portato i file modificati lo rende disponibile a qualsiasi numero di attività che potrebbero usarli.

Problemi correlati