如何使用grunt-sass编译多个scss文件

我正在尝试将多个.scss文件编译为一个CSS文件。这实际上有效,但只能获取第一个文件...

sass: {                                 // Task
   dist: {     
     files: {
       'css/test.css':'sass/*.scss'
     }

   }
}

我们没有安装ruby,所以grunt-contrib-sass不是一个选择。我在Stylus中做同样的事情...

stylus: {
  compile : {
    files : {
      'css/g.css' : 'stylus/*.styl'
    }
  }
}
Gil飞云2020/03/23 11:46:55

如果您不想使用concat,则可以在目录中指定所有文件。检出此示例:https : //github.com/gruntjs/grunt-contrib-sass#compile-files-in-a-directory

老丝神无2020/03/23 11:46:55

这很简单。

假设您具有2个scss文件的结构:

   scss/
       core/file.scss
       templates/file2.scss
       main.scss

所以你需要做的是:创建一个名为:main.scss在根文件夹SCSS和导入所有SCSS文件:

例如:main.scss将具有:

@import "core/file.scss"
@import "templates/file2.scss"

现在使用grunt-contrib-sass并仅调用main.scss文件:

完成:)

//Sass ===============================
            var sass;
            config.sass = sass = {};

                //production
                    sass.dist = {
                        options: { style: "compressed"}
                        , files: {
                            "public/stylesheets/myapp.production.css" : "sass/main.scss"
                        }
                    };

                //development env.
                    sass.dev = {
                    options: { style: "expanded", lineNumber: true}
                    , files: {
                        "public/stylesheets/myapp.development.css" : "sass/main.scss"
                    }
                };