2015-10-23 23 views
6

Burada neyi yanlış yaptığımı anlayamıyorum. Gulp kullanarak bir sourcemap dosyası oluşturmaya çalışırken çok garip bir hata mesajı alıyorum.Kaynak oluşturma sırasında hata oluştu ("CssSyntaxError")

events.js:85 
     throw er; // Unhandled 'error' event 
      ^
CssSyntaxError: /www/static/sass/maps/main.css.map:1:198: Missed semicolon 

Ayrı bir .map dosyasında oluşturulmasını istiyorum. Neden oluşturduğunu sorduğum dosyada bir hata olduğunu neden anlayamıyorum ...?

Neyi yanlış yapıyorum?

İşte benim gulpfile.js var:

var gulp = require('gulp'), 
    sass = require('gulp-sass'), 
    minifyCSS = require('gulp-minify-css'), 
    autoprefixer = require('gulp-autoprefixer'), 
    sourcemaps = require('gulp-sourcemaps'), 
    input = 'static/sass/**/*.scss', 
    output = 'static/css'; 

var sassOptions = { 
    errLogToConsole: true, 
    outputStyle: 'expanded' 
}; 

gulp.task('sass', function() { 
    return gulp 
     .src(input) 
     .pipe(sourcemaps.init()) 
     .pipe(sass(sassOptions).on('error', sass.logError)) 
     .pipe(sourcemaps.write('.')) 
     .pipe(autoprefixer()) 
     .pipe(minifyCSS()) 
     .pipe(gulp.dest(output)) 
}); 

gulp.task('watch', function() { 
    gulp.watch(input, ['sass']); 
}); 

// Default task - Compile then set Watch 
gulp.task('default', ['sass', 'watch']); 
+0

Neden koyuyoruz kaynak hiç üretim sunucusuna üzerine eşleyen -:

return gulp .src(input) .pipe(sourcemaps.init()) .pipe(sass(sassOptions).on('error', sass.logError)) .pipe(autoprefixer()) .pipe(minifyCSS()) .pipe(sourcemaps.write('.')) // This line moved to here .pipe(gulp.dest(output)) 

neden bilmek isterim: Bu sorun çözüldü Moving? – cimmanon

+0

@cimmanon Sourcemaps'ları herhangi bir üretim sunucusuna yerleştirmiyorum. Sana bu fikri ne verdi? –

+0

Yaptınız: "Bunların ayrı bir .map dosyasında oluşturulmasını istiyorum, böylece ortalama kullanıcı siteyi ziyaret ederken onları görmeyecek". Üretim sunucusunda olmadığı sürece, ortalama kullanıcı neden kaynak haritasını görsün? – cimmanon

cevap

26

O basitçe hat .pipe(sourcemaps.write('.')) yerleştirilmesi idi çıkıyor./

+3

Teşekkürler! Tüm noktalı virgüllerin sırayla olduğunu biliyordum ... –

+0

burada aynı, ama neden olmasın, sourcemaps'ın sonunda olması gereken bir fikir yok – Jorre

+2

@Jorre Autoprefixer önek eklemeyi denediğinden sourcemaps.write() 'nin autoprefixer() sonra gelmesi gerektiğine inanıyorum Hataya neden olan kaynak haritaya –