繁体   English   中英

Gulp-sass不会将scss文件编译为css,而是将所有文件从scss文件夹复制到css文件夹

[英]Gulp-sass won't compile scss files to css instead copy all files from scss folder to css folder

你好,我是一个很新的人。 问题是当我使用命令“gulp”scss文件运行默认任务时不要编译而是复制到css文件夹这是我的gulpfile.js

var gulp = require('gulp');
    var sass = require('gulp-sass');
    var autoprefixer = require('gulp-autoprefixer');
    var browserSync = require('browser-sync');
    var runSequence = require('run-sequence');

    gulp.task('browserSync', function() {
        browserSync({
            server: {
                baseDir: 'app'
            }
        })
    })

    gulp.task('sass', function() {
        return gulp.src('app/scss/**/*.scss') 
        .pipe(autoprefixer({
            browsers: ['last 2 versions']
        }))
        .pipe(gulp.dest('app/css'))
        .pipe(browserSync.reload({
            stream: true
        }));
    })

    gulp.task('watch', function() {
        gulp.watch('app/scss/**/*.scss', ['sass']);
        gulp.watch('app/*.html', browserSync.reload); 
        gulp.watch('app/js/**/*.js', browserSync.reload); 
    })


    gulp.task('default', function(callback) {
        runSequence(['sass', 'browserSync', 'watch'],
            callback
        )
    })

目录树

app
      |-scss
         |- styles.scss
         |- _layout.scss
         |- _homepage.scss
         |- _profile.scss
         |- _contact.scss

       |-css

在styles.scss我有:

$orange: #f29528;
    $image: "../images/";

    @import 'layout';
    @import 'homepage';
    @import 'profile';
    @import 'contact';

你不使用sass()。 试试:

gulp.task('sass', function() {
    return gulp.src('app/scss/**/*.scss')
    .pipe(sass().on('error', sass.logError)) 
    .pipe(autoprefixer({
        browsers: ['last 2 versions']
    }))
    .pipe(gulp.dest('app/css'))
    .pipe(browserSync.reload({
        stream: true
    }));
})

阅读更多gulp-sass

我正在使用它作为我的项目任务处理程序与files.scss并为我的ATM工作正常。 我希望它对你也有用。

 'use strict' // @requesting packages const gulp = require('gulp'); const sass = require('gulp-sass'); const autoprefixer = require('gulp-autoprefixer'); const sourcemaps = require('gulp-sourcemaps'); const cleancss = require('gulp-clean-css'); // @gulp task gulp.task('sass', () => gulp.src('./scss/**/*.scss') .pipe(sass({ outputStyle: 'nested', sourceComments: false })) // *** The debug function isn't needed you can delete it if you want .pipe(cleancss({debug: true}, function(details) { console.log(details.name + ': ' + details.stats.originalSize); console.log(details.name + ': ' + details.stats.minifiedSize); })) .pipe(autoprefixer({ versions: ['last 2 browsers'] })) .pipe(sourcemaps.init()) .pipe(sass().on('error', sass.logError)) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('./css')) ); // @gulp watch task gulp.task('default', () => { gulp.watch('./scss/*.scss', ['sass']); }); 

记住要更改目录路径 sass route

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM