为什么 gulp 按字母顺序编译我的 SCSS 文件?

Why is gulp compiling my SCSS files in alphabetical order?

我以前从未遇到过这种情况,而且我通常使用相同的 gulpfile。我所有的 SCSS 文件都是按字母顺序编译的,这意味着没有被正确覆盖。这是编译消息。 (注意,我把客户的名字涂黑了)

这是我的 style.scss 文件

//Mixins
@import 'mixins';

//Globals
@import 'config';
@import 'global/global';

//Header
@import 'global/header';

//Company
@import 'company/leadership';


//Social buttons
@import 'social/social_buttons';

@import 'company/contact-us';

@import 'company/events-listing';

//Active Data Fabric tweak
@import 'active/active-data-fabric';

// News CPT Single
@import 'news/single';

//Resource Listing
@import 'resources/listing';

//Resource Single
@import 'resources/single';

//Products
@import 'products/products';

//Featured Testimonials
@import 'featured_testimonials/index';

//Videos Page
@import 'videos/index';

//Header Override
@import 'resources/header';

//Support Page
@import 'support/overview';

// Careers Page
@import 'company/careers';

//Search Page
@import 'search/index.scss';

// Import Views
@import 'views/home';

这是我的 gulpfile

var gulp = require('gulp');
var minifycss = require('gulp-cssnano');
var autoprefixer = require('gulp-autoprefixer');
var notify = require('gulp-notify');
var sass = require('gulp-ruby-sass');
var concat = require('gulp-concat');
var sourcemaps = require('gulp-sourcemaps');

gulp.task('css', function() {
    return sass('scss/**/*.scss')
        .pipe(sourcemaps.init())
        .pipe(autoprefixer())
        .pipe(concat('style.css'))
        .on('error', sass.logError)
        .pipe(minifycss())
        .pipe(sourcemaps.write(''))
        .pipe(gulp.dest('./scss'))
            .pipe(notify({ message: 'Wait for it....wait for it!!!' }));
});

gulp.task('default', function() {
    gulp.watch('scss/**/*.scss',['css']);
});

就像我说的,这以前从未发生过,所以我很茫然。文件不应该按照 style.scss 文件中指定的顺序编译吗?

您的 **/*.scss 通配符按字母顺序选取文件。由于 ** 递归到目录结构的底部,它 returns 目录按字母顺序排列,每个目录中的文件也按字母顺序排序。

这是通配符的预期输出。