css - instalar - npm
Gulp-TypeError: no se puede asignar para leer solo la propiedad ''cwd'' de bower/bootstrap.css (3)
Me estoy acostumbrando a Gulp.js y este es el único error que parece que no puedo solucionar.
Instalé bootstrap a través de bower, y estoy tratando de minimizar el css de bootstrap.
Aquí está mi tarea trilla;
gulp.task(''minifycss'', function() {
gulp.src(''www/css/animate.css'', ''www/bower_components/bootstrap/dist/css/bootstrap.css'')
.pipe(minifycss({compatibility: ''ie8''}))
.pipe(gulp.dest(''www-deploy/css/''));
});
Sin embargo, cuando ejecuto mi tarea principal trago. Indica que el archivo es "solo lectura"
Karls-MacBook-Pro:cmp-2015 karltaylor$ gulp
[13:48:50] Using gulpfile ~/Documents/web/cmp-2015/gulpfile.js
[13:48:50] Starting ''sassMin''...
[13:48:50] Finished ''sassMin'' after 12 ms
[13:48:50] Starting ''minifycss''...
[13:48:50] ''minifycss'' errored after 508 μs
[13:48:50] TypeError: Cannot assign to read only property ''cwd'' of www/bower_components/bootstrap/dist/css/bootstrap.css
at Object.gs.createStream (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/index.js:19:46)
at Object.gs.create (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-stream/index.js:68:42)
at Gulp.src (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/vinyl-fs/lib/src/index.js:33:23)
at Gulp.<anonymous> (/Users/karltaylor/Documents/web/cmp-2015/gulpfile.js:35:7)
at module.exports (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/orchestrator/index.js:214:10)
at /Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/orchestrator/index.js:279:18
at finish (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:21:8)
at module.exports (/Users/karltaylor/Documents/web/cmp-2015/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:60:3)
Cosas que he probado:
- Reinstalando bootstrap
- Mover el archivo bootstrap.css real a mi archivo css, sin embargo, hace exactamente lo mismo.
EDITAR: SOLUCIONAR = Para usar múltiples fuentes, debe colocarlas en una matriz.
Fuente: https://github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md
Como mencionó @topleft, fue un error en la sintaxis del uso de varios archivos en mi gulp.src. Para usar múltiples fuentes necesitas ponerlas en una matriz.
Ejemplo:
var gulp = require(''gulp'');
var concat = require(''gulp-concat'');
gulp.task(''default'', function() {
return gulp.src([''foo/*'', ''bar/*''])
.pipe(concat(''result.txt''))
.pipe(gulp.dest(''build''));
});
Tuve este problema cuando intenté generar 2 archivos css y no usé array [].
En lugar de:
gulp.src(''www/css/animate.css'', ''www/bower_components/bootstrap/dist/css/bootstrap.css'')
.pipe(minifycss({compatibility: ''ie8''}))
.pipe(gulp.dest(''www-deploy/css/''));
});
Utilizar esta:
gulp.src([''www/css/animate.css'', ''www/bower_components/bootstrap/dist/css/bootstrap.css''])
.pipe(minifycss({compatibility: ''ie8''}))
.pipe(gulp.dest(''www-deploy/css/''));
});
Explicación:
gulp.src([''./file1.scss'', ''./file2.scss'']);
alternativamente también puedes probar con
return gulp.src(''www/**/*.css'')
debe agregar cada .css en sus directorios si ese es el efecto deseado