Sto cercando di sostituire alcuni segnaposti in file diversi durante la copia. Il mio gruntfile funziona bene, ma aggiungendo l'opzione di processo per fare le sostituzioni, non funziona. Qui di seguito è la sezione dedicata del mio gruntfile:sintassi grunt-contrib-copy per confusione opzione di processo
grunt.initConfig({
copy: {
js: {
files: [{
expand: true,
cwd: 'src/wp-content/themes/pilau-starter/',
src: ['**/*.js'],
dest: 'public/wp-content/themes/pilau-starter/'
}],
options: {
process: function (content) {
console.log(content);
content = content.replace(/pilauBreakpointLarge/g, breakpoints.large);
content = content.replace(/pilauBreakpointMedium/g, breakpoints.medium);
return content;
}
}
},
}
});
I percorsi possono essere compresi nel contesto del codice su GitHub: https://github.com/pilau/starter (la directory pubblico non si è impegnata per il repo, perché è un tema di avviamento). Questi percorsi sono variabili nel mio Gruntfile originale e funzionano bene in tutte le altre attività.
Tutti i vars sono impostati OK. Ho incluso lo console.log(content)
per verificare se la funzione di processo è effettivamente in esecuzione, non sembra esserlo, quindi suppongo sia una sintassi di base.
C'è una risposta (https://stackoverflow.com/a/28600474/1087660) che sembra risolvere questo problema, ma per quanto posso dire, questo modo di farlo è semplicemente una sintassi JS errata - non so come sia stata contrassegnata come corretta.
--verbose
uscita per l'esecuzione di attività di copia:
Running "copy:js" (copy) task
Verifying property copy.js exists in config...OK
Files: src/wp-content/themes/pilau-starter/js/admin.js -> public/wp-content/themes/pilau-starter/js/admin.js
Files: src/wp-content/themes/pilau-starter/js/flickity.js -> public/wp-content/themes/pilau-starter/js/flickity.js
Files: src/wp-content/themes/pilau-starter/js/global.js -> public/wp-content/themes/pilau-starter/js/global.js
Files: src/wp-content/themes/pilau-starter/js/modernizr.js -> public/wp-content/themes/pilau-starter/js/modernizr.js
Files: src/wp-content/themes/pilau-starter/js/picturefill.js -> public/wp-content/themes/pilau-starter/js/picturefill.js
Files: src/wp-content/themes/pilau-starter/js/respond.js -> public/wp-content/themes/pilau-starter/js/respond.js
Options: processContent=false, processContentExclude=[], process=undefined
Options: processContent=false, processContentExclude=[], process=undefined
Copying src/wp-content/themes/pilau-starter/js/admin.js -> public/wp-content/themes/pilau-starter/js/admin.js
Reading src/wp-content/themes/pilau-starter/js/admin.js...OK
Writing public/wp-content/themes/pilau-starter/js/admin.js...OK
Qual è l'uscita se si esegue l'attività con la bandiera '--verbose'? Inoltre, l'opzione 'nonull' può essere utile durante il debug. – steveax
Quale versione di 'grunt-contrib-copy' stai usando? Puoi provare a usare 'processContent' invece di' process' perché è stato usato in v0.4.1 e precedenti. Puoi anche provare a registrare i tuoi 'breakpoints.large' e' breakpoints.medium', forse non sono impostati correttamente nella tua configurazione ... – nemesv
I file vengono copiati sull'output quando viene eseguito? +1 sul suggerimento '--verbose'. – James