Per una pagina singola applicazione che sto lavorando, ho la seguente struttura:Come copiare i file di giada compilati in una cartella di destinazione utilizzando grugnito
- dist
- css
- js
- lib
- parziali
- index.html
- src
- css
- js
- lib
- Visto
- parziali
- index.jade
La directory dist verrà utilizzata dal server Express per servire il progetto. Ho compiti grugnito banali (utilizzando grugnito-contrib-pulito, grugnito-contrib-copia) per la pulizia dist e la copia src/css, src/js, src/lib a dist.
Il problema si trova con src/views. Questa directory contiene i file jade che devono essere compilati in file html. Dopo la compilazione li voglio in dist (index.html nella radice dist, partial come sottodir).
Al momento sto utilizzando l'attività grunt-contrib-jade per compilare e copiare i file di giada. Voglio copiarli su dist, dato che non voglio aggiungere i file html compilati al controllo del codice sorgente. Ma ora questo non è davvero praticabile, dal momento che è necessario specificare tutti i file di giada (ora ci sono solo pochi, ma che cresceranno):
jade: {
compile: {
options: {
pretty: true
},
files: {
// TODO make one line
'dist/index.html': ['src/views/index.jade'],
'dist/partials/banner.html': ['src/views/partials/banner.jade'],
'dist/partials/dashboard.html': ['src/views/partials/dashboard.jade'],
'dist/partials/navbar.html': ['src/views/partials/navbar.jade'],
'dist/partials/transfer.html': ['src/views/partials/transfer.jade']
}
}
},
Esiste un modo per utilizzare il grugnito-contrib-giada compito (o un altro) con un filtro di directory? Ti piace questa:
jade: {
compile: {
options: {
pretty: true
},
dir: {
'dist': ['src/views']
}
}
}
Hai provato il "Formato array di file" [descritto qui] (https://github.com/gruntjs/grunt/wiki/Configuring-tasks)? L'esempio (usando l'attività concat) imposta la proprietà 'dest' in una directory:' file: [{src: ['src/bb.js', 'src/bbb.js'], destinazione: 'dest/b/'}] '. È probabile che il task 'jade-contrib' supporti anche questo formato. – smithclay
Non ha funzionato. Ha copiato tutti i file in un unico file chiamato '* .html' :) Provato file: grunt.file.expandMapping (['**/*. Jade'], 'dist', {cwd: 'src/views'}) 'descritto nella stessa pagina, ma sto ottenendo expandMapping non è definito. – asgoth