【问题标题】:React- How to use both locally scoped css and css from third party componentsReact-如何使用本地范围的 css 和来自第三方组件的 css
【发布时间】:2018-12-26 12:26:09
【问题描述】:

我正在使用

对我的 css 文件进行本地范围界定
modules: true,
localIdentName: "[name]__[local]_[hash:base64:5]"

在 webpack.config.dev 和 prod.js 中。我可以使用从“./Component.css”导入样式为组件定义的样式。 现在我正在尝试使用 react-select 第三方组件。现在该组件具有我想要使用的预定义样式。要使用它,我按如下方式导入样式

导入'react-select/dist/react-select.css'

但是样式没有被应用。如何为导入的组件启用预定义样式。

【问题讨论】:

    标签: javascript reactjs react-select css-modules react-css-modules


    【解决方案1】:

    您可以使用 resource query 根据查询不同地处理 CSS 导入。

    这样您可以使用 ?external 查询参数导入常规 CSS。

    module.exports = {
      //...
      module: {
        rules: [
          {
            test: /.css$/,
            oneOf: [
              {
                // import 'react-select/dist/react-select.css?external'
                resourceQuery: /external/, 
                use: ['style-loader', 'css-loader']
              },
              {
                use: ['style-loader', 'css-loader'],
                options: {
                  modules: true,
                  localIdentName: '[name]__[local]_[hash:base64:5]'
                }
              }
            ]
          }
        ]
      }
    };
    

    【讨论】:

    • 我是新手,所以我的问题可能看起来很傻。在 webpack.config.dev.js 我要添加以下规则-'{ // import 'react-select/dist/react-select.css?external' resourceQuery: /external/, use: ['style- loader', 'css-loader'] },' 现在在 组件中如何使用?外部查询参数?还是我必须在自己的构建组件中使用 ?external?
    • 我想我得到了你的提示。在外部组件 添加上述规则后,我必须使用 import 'react-select/dist/react-select.css?external' 。让我知道我是否不正确,我会尝试一下。忽略我之前的评论。
    • @Braj 我的答案import 'react-select/dist/react-select.css?external' 中的评论只是如何在您的应用中使用它的一个示例。如果你导入一个文件名末尾带有?external 的 CSS 文件,Webpack 会将其视为常规 CSS 而不是 CSS 模块。只需在您的应用程序中写入一次import 'react-select/dist/react-select.css?external'react-select CSS 将按预期成为您的 CSS 的一部分。
    • 我会尝试并更新你。也将涵盖 webpack 主题让我深入了解 webpack 如何与 css 和其他文件相关的工作?
    • 像魅力一样工作。谢谢。
    猜你喜欢
    • 2018-04-15
    • 2019-12-25
    • 2023-03-27
    • 2011-02-26
    • 1970-01-01
    • 2021-12-18
    • 2020-05-14
    • 2019-09-11
    相关资源
    最近更新 更多