【问题标题】:Gulp 4 exclude a sass fileGulp 4 排除一个 sass 文件
【发布时间】:2019-08-29 07:09:06
【问题描述】:

有没有办法在构建时排除 sass 文件? 我有以下代码:

function style() {
return gulp
    .src(['./src/scss/**/*.scss', '!./src/scss/styleguide/**'])
    .pipe(gulpif(isDevelopment, sourcemaps.init()))
    .pipe(sassGlob())
    .pipe(sass())
    .on("error", sass.logError)
    .pipe(postcss([autoprefixer(), cssnano()]))
    .pipe(gulpif(isDevelopment, sourcemaps.write()))
    .pipe(gulp.dest(paths.styles.dest))
    .pipe(gulpif(isDevelopment, browserSync.stream()));}

我想排除 styleguide 文件夹中的所有内容。有什么想法吗?

【问题讨论】:

    标签: gulp-sass gulp-4


    【解决方案1】:

    您的代码对我有用。使用gulp-debug 检查哪些文件正在传递到流中。

    const debug = require("gulp-debug");
    
    function style() {
    return gulp
    
        // try both ways to see the difference
        //.src(['./src/scss/**/*.scss'])
        .src(['./src/scss/**/*.scss', '!./src/scss/styleguide/**'])
    
        .pipe(debug());
    
        //.pipe(gulpif(isDevelopment, sourcemaps.init()))
        //.pipe(sassGlob())
        //.pipe(sass())
        //.on("error", sass.logError)
        //.pipe(postcss([autoprefixer(), cssnano()]))
        //.pipe(gulpif(isDevelopment, sourcemaps.write()))
        //.pipe(gulp.dest(paths.styles.dest))
        //.pipe(gulpif(isDevelopment, browserSync.stream()))
    }
    

    当我使用此代码设置您的文件夹结构时,我看到 styleguide 文件夹文件没有被传递。

    ├── gulpfile.js
    ├── src
    |  └── scss
    |     ├── main.scss
    |     └── styleguide
    |        └── test1.scss
    

    【讨论】:

    • 使用 gulp-debug 的好主意,该文件未显示在日志中,但仍包含在 main.css 中。例如,通过为 styleguide.scss 中的正文添加背景红色,styleguide.scss 不会显示在日志中,但正文是红色的。也许这可能是 4.0.2 中的错误?
    • 您是否将其导入到 main.scss 中?然后从 gulp.src 中排除它不会阻止它。您必须注释掉 import 行。
    • 是的,我是,通过删除导入语句解决了我的问题。感谢您的帮助。
    猜你喜欢
    • 2019-11-09
    • 1970-01-01
    • 2014-07-04
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多