gulp-sassでエラーが出て動かない原因 node_modules/gulp-sass/index.js:38
※ gulp-sassのv2 以降から errLogToConsole オプションが使えなくなりました。
gulp-sassで下記のようなエラーが出る場合
node_modules/gulp-sass/index.js:38
opts.data = file.contents.toString();
^
TypeError: Cannot assign to read only property 'data' of /Users/YourName/public/assets/sass/app/app.sass
at DestroyableTransform._transform (/Users/YourName/node_modules/gulp-sass/index.js:38:15)
at DestroyableTransform.Transform._read (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:159:10)
at DestroyableTransform.Transform._write (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:147:83)
at doWrite (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:313:64)
at writeOrBuffer (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:302:5)
at DestroyableTransform.Writable.write (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:241:11)
at DestroyableTransform.ondata (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:531:20)
at emitOne (events.js:90:13)
at DestroyableTransform.emit (events.js:182:7)
at readableAddChunk (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:198:18)
対策
gulpfile.jsのsassコンパイルタスクを見直す
gulp-sass v1
gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var assets = __dirname + '/public/assets/';
gulp.task('sass', function() {
gulp.src(assets + 'sass/**/**.sass')
.pipe(sass({errLogToConsole: true}))
.pipe(gulp.dest(assets + 'css/'))
});
gulp-sass v2 以降
node_modules/gulp-sass/index.js:38
opts.data = file.contents.toString();
^
TypeError: Cannot assign to read only property 'data' of /Users/YourName/public/assets/sass/app/app.sass
at DestroyableTransform._transform (/Users/YourName/node_modules/gulp-sass/index.js:38:15)
at DestroyableTransform.Transform._read (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:159:10)
at DestroyableTransform.Transform._write (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:147:83)
at doWrite (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:313:64)
at writeOrBuffer (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:302:5)
at DestroyableTransform.Writable.write (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:241:11)
at DestroyableTransform.ondata (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:531:20)
at emitOne (events.js:90:13)
at DestroyableTransform.emit (events.js:182:7)
at readableAddChunk (/Users/YourName/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:198:18)
対策
gulpfile.jsのsassコンパイルタスクを見直す
gulp-sass v1
gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var assets = __dirname + '/public/assets/';
gulp.task('sass', function() {
gulp.src(assets + 'sass/**/**.sass')
.pipe(sass({errLogToConsole: true}))
.pipe(gulp.dest(assets + 'css/'))
});
gulp-sass v2 以降
gulp-sass v1
gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var assets = __dirname + '/public/assets/';
gulp.task('sass', function() {
gulp.src(assets + 'sass/**/**.sass')
.pipe(sass({errLogToConsole: true}))
.pipe(gulp.dest(assets + 'css/'))
});
gulp-sass v2 以降
gulp-sassではnode-sassを利用で、エラーがコールバックがされるようになりました。
gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var assets = __dirname + '/public/assets/';
gulp.task('sass', function() {
gulp.src(assets + 'sass/**/**.sass')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest(assets + 'css/'))
});
この部分を
gulpfile.js
.pipe(sass({errLogToConsole: true}))
以下の記述に変更する
gulpfile.js
.pipe(sass().on('error', sass.logError))
Author And Source
この問題について(gulp-sassでエラーが出て動かない原因 node_modules/gulp-sass/index.js:38), 我々は、より多くの情報をここで見つけました https://qiita.com/amagurix/items/d034443136c8be28fa53著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .