Quando si cerca di compilare il mio file grugnito e costruire nella mia cartella dist
per la distribuzione ottengo il seguente errore nella console:Grunt sta trattando cartella con un punto come un file
Running "rev:dist" (rev) task
dist/public/app/app.js >> 63decaf3.app.js
dist/public/app/vendor.js >> a09756ab.vendor.js
dist/public/app/app.css >> d2017fc8.app.css
Warning: Unable to read "dist/public/bower_components/animate.css" file (Error code: EISDIR).
La ragione di questo è che Ho installato un componente Bower chiamato animate.css. Questa libreria è ovviamente installata nella mia cartella bower_components
, ma la stringa corrispondente che ho nel mio file Grunt cerca solo i file con un'estensione di .js
, .css
, eccetera. Ecco la mia stringa corrispondente:
// Renames files for browser caching purposes
rev: {
dist: {
files: {
src: [
'<%= yeoman.dist %>/public/{,*/}*.js',
'<%= yeoman.dist %>/public/{,*/}*.css', // Offending line
'<%= yeoman.dist %>/public/assets/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/public/assets/fonts/*'
]
}
}
}
Ed ecco la struttura di directory:
bower_components
-> ...
-> angular-ui-router
-> animate.css // Folder with the error
---> animate.css // File that it should be recognizing
---> animate.min.css // File that it should be recognizing
-> es5-shim
-> ...
In questo caso, come faccio a dire Grunt che si tratta di una directory che contiene i file piuttosto che un file stesso?
Perché stai usando '{, * /}'? Se sto leggendo i documenti a destra, questo corrisponde a una stringa vuota oa un nome di directory (inclusa la barra finale). Mi sembra che dovresti usare '**/*. Css'. (A proposito, glob e regex non sono la stessa cosa.) –
Hai ragione circa la differenza tra glob e regex, ho modificato i tag del mio post di conseguenza. La ragione per cui uso '{, * /}' è perché questo rinominerà solo i file concatenati finali (dato che tutto è combinato in un grande '.js' e un grande file' .css'. Fare '**/*. css' rinomina tutti i file css, non solo i pochi file che ho bisogno. Ha senso o dovrei ri-spiegare? – cereallarceny
Mi sono imbattuto in questo problema prima - il colpevole era che usavo una versione di grunt-devcode che non funzionava correttamente gestisci i punti nelle directory - il punto in cui stai ricevendo l'errore è dopo che il tuo html è stato "semplificato" - quindi forse un altro pacchetto npm non ha a che fare con i punti correttamente.Non sono sicuro se stai usando grunt-devcode, ma inizierei a dare un'occhiata ai pacchetti che usi –