tutorial example cannot sass gulp gulp-watch

sass - example - install gulp



Gulp TypeError: los argumentos de path.join deben ser cadenas (3)

Cambios de sintaxis de gulp-ruby-sass en la versión 1.0.0. Ver este número:

https://github.com/sindresorhus/gulp-ruby-sass/issues/191

Nuevos documentos están actualmente aquí:

https://github.com/sindresorhus/gulp-ruby-sass/tree/rw/1.0#gulp-ruby-sass-is-a-gulp-source-adapter

Esto debería compilar archivos sass en el directorio especificado:

gulp.task(''sass'', function() { return sass(''sass/'') .pipe(gulp.dest(''./css'')); });

Tengo un problema con gulp-ruby-sass. Cuando intento ejecutar la tarea de observación y cambiar algunos archivos .sass se produce un error:

TypeError: Arguments to path.join must be strings

Aquí está mi gulpfile.js

var gulp = require(''gulp''); var jade = require(''gulp-jade''); var sass = require(''gulp-ruby-sass''); var watch = require(''gulp-watch''); gulp.task(''sass'', function() { return gulp.src(''sass/*.sass'') .pipe(sass()) .pipe(gulp.dest(''./css'')); }); gulp.task(''watch'', function() { gulp.watch(''./sass/*.sass'', [''sass'']); })

Usé gulp-slash pero no funciona.


Con los cambios de sintaxis en gulp-ruby-sass a partir de 1.0.0-alpha, necesitarás usar gulp-ruby-sass() lugar de gulp.src() para compilar tu Sass desde un archivo o directorio.

Si intenta utilizar la sintaxis original con las versiones más recientes o más recientes, puede encontrar el siguiente error:

TypeError: Arguments to path.join must be strings

Por ejemplo, la sintaxis original en 0.7.xy anteriores usando gulp.src (), ahora en desuso:

var gulp = require(''gulp''); var sass = require(''gulp-ruby-sass''); // gulp-ruby-sass: 0.7.1 gulp.task(''sass'', function() { return gulp.src(''path/to/scss'') .pipe(sass({ style: ''expanded'' })) .pipe(gulp.dest(''path/to/css'')); });

La nueva sintaxis introducida en 1.x utilizando gulp-ruby-sass () como un adaptador de fuente de trago:

// gulp-ruby-sass: 1.x gulp.task(''sass'', function() { return sass(''path/to/scss'', { style: ''expanded'' }) .pipe(gulp.dest(''path/to/css'')); });

Observe la diferencia en la primera línea de la declaración de devolución.

También tenga en cuenta que, a partir de este escrito, cuando utilice gulp-ruby-sass 1.0.0-alpha, los globos no están aún soportados.


Un poco fuera de tema, pero en el caso de querer usar también gulp-sourcemaps , la documentación existente es algo obsoleta. Para usar el ejemplo de rjb con sourcemaps, deberías ir

// gulp-ruby-sass: 1.x gulp.task(''sass'', function() { return sass(''path/to/scss'', { style: ''expanded'', sourcemap: true }) .pipe(sourcemaps.init({loadMaps: true})) .pipe(sourcemaps.write(''./'')) .pipe(gulp.dest(''path/to/css'')); });

Tenga en cuenta que el argumento de destino para sourcemaps, ''./'' , se evaluará en la carpeta en la línea siguiente, gulp.dest(...) , efectivamente, aquí, el archivo de mapa terminará en ''path/to/css'' .

El crédito para esto va a http://www.devworkflows.com/posts/getting-scss-auto-prefixer-and-source-map-to-play-nice/ .