2016-11-09 68 views
0

我已經從此tutorial下載了PhoneGap的AngularJS安裝程序。使用Gulp任務替換Less的默認任務

現在我想使用Sass而不是Less(因爲這是我在用於移植到PhoneGap的項目中使用的)。默認少任務看起來是這樣的:

gulp.task('less', function() { 
    return gulp.src(config.less.src).pipe(less({ 
    paths: config.less.paths.map(function(p){ 
     return path.resolve(__dirname, p); 
    }) 
    })) 
    .pipe(mobilizer('app.css', { 
    'app.css': { 
     hover: 'exclude', 
     screens: ['0px'] 
    }, 
    'hover.css': { 
     hover: 'only', 
     screens: ['0px'] 
    } 
    })) 
    .pipe(cssmin()) 
    .pipe(rename({suffix: '.min'})) 
    .pipe(gulp.dest(path.join(config.dest, 'css'))); 
}); 

我已經試過這咕嘟咕嘟任務社科院:

gulp.task('sass', function(){ 
    return gulp.src('./src/sass/css/main.scss') 
    .pipe(sass()) // Using gulp-sass 
    .pipe(gulp.dest('./src/css/')); 
}); 

似乎沒有什麼是發生(看不到新生成的main.scss文件)。有人可以幫忙(我以前沒有用過Gulp,因爲你可能猜到了,雖然我已經通過this看過)

更新: 我實際上並沒有取代Less任務,我只是添加了另一個任務爲薩斯。

更新2: 我在這裏

gulp.task('watch', function() { 
    if(typeof config.server === 'object') { 
    gulp.watch([config.dest + '/**/*'], ['livereload']); 
    } 
    gulp.watch(['./src/html/**/*'], ['html']); 
    gulp.watch(['./src/sass/css/*'], ['sass']); 
    gulp.watch(['./src/js/**/*', './src/templates/**/*', config.vendor.js], ['js']); 
    gulp.watch(['./src/images/**/*'], ['images']); 
}); 

調用薩斯任務然而,問題似乎是,它沒有執行。

更新3: 這裏的構建階段代碼

gulp.task('build', function(done) { 
    var tasks = ['html', 'fonts', 'images', 'sass', 'js']; 
    seq('clean', tasks, done); 
}); 
+0

兩種可能性:(1)你'sass'任務沒有實際運行,因爲你沒有調用它(2)你的道路是錯誤的。 –

+0

@SvenSchoenung我從哪裏調用它? – suMi

+0

鄧諾。命令行? Gulpfile?你告訴我。 –

回答

0

你的路徑是絕對的,而不是相對的。不要忘了;)

gulp.task('sass', function(){ 
    return gulp.src('./src/sass/css/main.scss') 
     .pipe(sass()) 
     .pipe(gulp.dest('./src/css/')); 
}); 
+0

不影響結果 – suMi