sass - 使用 webpack 导入目录中的所有 sass 文件

标签 sass webpack

我目前正在尝试使用 Webpack 来捆绑我的所有文件,但在处理多个文件夹和 .scss 时我不知道如何继续。文件。

我曾经使用 grunt 来完成这些任务,这是我的文件夹结构示例:

functions
    - _mixin.scss
    - _function.scss
    - [...]
variables
    - _colors.scss
    - _typo.scss
    - [...]
ui
    - _button.scss
    - _grid.scss
    - [...]
view
    - _home.scss
    - _about.scss
    - [...]

Grunt我会运行一个任务来生成一个名为 main.scss 的文件。包含所有 @import , 例如:
@import 'function/_mixin.scss';
@import 'function/_function.scss';
@import 'variables/_colors.scss';
@import 'variables/_typo.scss';
[...]

目前我正在我的 .js 中指定一个导入文件(与 extract-text-webpack-plugin 一起使用)来定义 main.scss文件,但每个新 import ,或旧的,需要手动添加/删除。有没有办法用 WebPack 自动化这个任务? ?

最佳答案

当 webpack 3 或 4
使用 node-sass-glob-importer

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const globImporter = require('node-sass-glob-importer');

    ...
    test: /\.(scss|sass)$/,
    use: [
      MiniCssExtractPlugin.loader,
      "css-loader",
      {
        loader: "sass-loader",
        options: {
          sassOptions: {
            importer: globImporter()
          }
        }
      }
    ]
用这种方式。
// Import all files inside the `scss` directory and subdirectories.
@import 'scss/**/*.scss';
@import 'scss/component-*';

关于sass - 使用 webpack 导入目录中的所有 sass 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43283447/

相关文章:

css - Bourbon 的 Jekyll 转换错误

css - Webpack - 导出 SASS (.scss) 文件

javascript - webpack:生产构建后缺少自定义样式

Angular 4 : ng build --prod takes up more than 80 mins

css - Beautifyrc SCSS 在关闭花括号后添加新的白线

javascript - 使用 Webpack 时努力删除 FOUC(Flash Of Unstyled Content)

:hover does not work 的 Sass 嵌套

webpack - 新的 WorkboxPlugin({ TypeError : WorkboxPlugin is not a constructor

javascript - 使用 ng-annotate-loader 和 babel-loader 进行 js 的 webpack 配置

javascript - 搜索 "Cannot use ' 时出现 '0' 错误,这在本地主机上不会发生