Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种方法可以在es6中导入一个只适用于一个特定元素且不是全局的css文件?_Javascript_Css_Reactjs_Webpack_Ecmascript 6 - Fatal编程技术网

Javascript 有没有一种方法可以在es6中导入一个只适用于一个特定元素且不是全局的css文件?

Javascript 有没有一种方法可以在es6中导入一个只适用于一个特定元素且不是全局的css文件?,javascript,css,reactjs,webpack,ecmascript-6,Javascript,Css,Reactjs,Webpack,Ecmascript 6,在React中,我有一个组件,我想导入一个css样式表 import styles from 'css-stylesheet.css' 或 在“/MyComponent.jsx”中 然而,我只希望这个css只适用于这个组件!我不希望它像现在这样全球化。我正在使用网页包。有没有一种方法可以在本地导入css,并且只将其应用于我从中导入的文件?似乎应该有办法,但我甚至找不到一个问题 这是我的网页css加载器代码 module: { rules: [{test: /(\.css)$/, load

在React中,我有一个组件,我想导入一个css样式表

import styles from 'css-stylesheet.css'

在“/MyComponent.jsx”中

然而,我只希望这个css只适用于这个组件!我不希望它像现在这样全球化。我正在使用网页包。有没有一种方法可以在本地导入css,并且只将其应用于我从中导入的文件?似乎应该有办法,但我甚至找不到一个问题

这是我的网页css加载器代码

module: {
   rules: [{test: /(\.css)$/, loaders: ['style-loader', 'css-loader']}]
}

您正在使用它支持的css加载程序,要启用它,您应该传递一个选项

{
  loader: "css-loader",
  options: {
    modules: true
  }
}
这将在导入css时返回一个对象,该对象将包含css选择器到uglified选择器之间的映射,这样,样式对于组件是唯一的

通过向选项中添加其他字段,可以定义uglified选择器的模式。
localIdentName:[name]\uuuuu[local]\uuuuuuuuuuuuu[hash:base64:5]

您是否已经习惯于使用css文件?有很多解决方案,比如样式化的组件或glamorI不想变得太异国情调,因为这是我工作中的一个项目,由多人参与。简单=更好。足够公平。我仍然会关注样式化组件。它使用普通的css语法,很难理解。谢谢!!如果我有其他导入的css,我如何使它们成为全局的?有一个文档,但是作为一个简短的回答,有一个:全局声明,你需要用它来包装你的全局css。这就是问题…我不能包装那个css,因为它是第三方的,我不想胡闹。有没有一篇很好的文章或文章来说明这一点。关于如何将css配置为全局和局部的文档很少。谢谢你的帮助,菲利克斯,它送我去了正确的pathOn近距离检查,这对我不起作用。我需要全局导入一些css,并在不知道类名称的情况下本地导入css。您可以尝试@import您的第三方css到一些css中,并使用:global声明将其包装。
{
  loader: "css-loader",
  options: {
    modules: true
  }
}