3

我有关于像这样的样式文件的项目结构:

client/
config-style.scss
------components/
------style.scss
-----------------my_component/
-----------------style.scss

在所有 style.scss 文件中,都有特定组件的本地样式。

在 config-style.scss 中有所有其他文件使用的变量,例如:

$font-size-large: 30px

实际上,我使用以下命令在每个 style.scss 文件中导入 config-style.scss 文件:

@import "../style.scss";

我还使用 webpack 生成带有 ExtractTextPlugin 的 main.scss 文件

    {
            test: /\.(css|scss)$/,
            loader: ExtractTextPlugin.extract({
                fallback: 'style-loader',
                use:  [
                    {
                        loader: 'css-loader',
                        options: {
                            sourceMap: true,
                            modules: true,
                            importLoaders: 1,
                            localIdentName: '[name]-[local]___[hash:base64:5]'
                        }
                    },
                    { loader: 'sass-loader', options: { sourceMap: true } }
                ]
            })
        }

有没有办法告诉 webpack在所有其他 .scss 文件中自动包含config-style.scss ?

4

2 回答 2

3

是的,有一种方法可以注入常见的 scss 文件。您可以在选项下指定您的导入。还可以提供 includePaths。这是语法。请让我知道这对你有没有用 :)

{
    loader: "sass-loader",
    options: {
        data: '@import "config-styles";'
        includePaths: includePaths
    }
}
于 2017-03-19T00:54:01.587 回答
0

这在最新版本中发生了变化sass-loader

{
  loader: 'sass-loader',
  options: {
    additionalData:
      '@import "config-styles";',
  },
}

于 2021-09-30T20:05:42.133 回答