2016-01-19 71 views
1

我試圖逃跑液體語法與插值(#{」「}),但我得到這個錯誤:錯誤逸出液體時(一飲而盡 - 薩斯shopify)

[22:07:05] Starting 'scss'... 
[22:07:05] Finished 'scss' after 9.77 ms 
[22:07:05] [gulp-sass] stylesheets/main.css 
527:10 Invalid CSS after " color: {": expected "}", was "ttings.color-te..." 

當我刪除所有代碼中的液體語法,任務完美運行。這是SCSS任務:

var gulp = require('gulp'); 
var watch = require('gulp-watch'); 
var sass = require('gulp-sass'); 
var cssnano = require('gulp-cssnano'); 
var rename = require("gulp-rename"); 
var autoprefixer = require('gulp-autoprefixer'); 
var sourcemaps = require('gulp-sourcemaps'); 
gulp.task('scss', function() { 
    gulp.src('stylesheets/*.scss') 
     .pipe(sass({ includePaths : ['./stylesheets/**/*.scss'] })) 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(sourcemaps.init()) 
    .pipe(autoprefixer({ 
     browsers: ['last 2 versions'], 
     cascade: false 
    })) 
    .pipe(cssnano()) 
    .pipe(rename({ suffix: '.min.css', extname: '.liquid' })) 
    .pipe(gulp.dest('./assets')); 
    }); 
    gulp.task('watch', function() { 
    gulp.watch('stylesheets/**/*.scss', ['scss']); 
    }); 

如果我刪除這部分>

.pipe(sass().on('error', sass.logError)) 
    .pipe(sourcemaps.init()) 
    .pipe(autoprefixer({ 
     browsers: ['last 2 versions'], 
     cascade: false 
    })) 
    .pipe(cssnano()) 

任務運行正常,但問題上傳到shopify ...(出錯無效上傳請求!)我也在另一項任務中使用Shopify上傳。

+0

你能發佈你的scss文件的內容嗎? – mamadrood

+0

@mamadrood 一個簡單的插值得到的錯誤: '體{ \t顏色:#{'{{settings.color文字}}}; }' –

回答

0

你不能使用gulp-saas來推斷液體語法,它只會解析sass文件。

如果你想解析液體文件,你可以在編譯你的sass文件之前使用gulp-liquify

+0

你確定嗎?因爲這就是爲什麼我試圖使用內插,我不能渲染液體模板,shopify這樣做。 –

+0

是的,sass會嘗試將你的scss文件編譯成css,但它不理解liquify語法。我認爲最好的方法是使用liquify語法創建一個靜態css文件,在沒有液化元素的情況下寫入其他sass文件,並在最後使用流式css編譯已編譯的sass文件。 – mamadrood

+0

不適用於我正在嘗試執行的工作流程。 –

0

刪除'autoprefixer'和/或'cssnano'