使用CSS模块和第三方软件包
Using CSS Modules and 3rd party packages
以下是我的webpack.config.js
文件的相关部分:
module: {
loaders: [
{
test: /'.css$/,
exclude: /node_modules/,
loaders: [
"style-loader?sourceMap",
"css-loader?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]"
]
},
{
test: /'.jsx?$/,
exclude: /node_modules/,
loader: "babel-loader"
}
]
}
当我编写自己的css并将其与我的React
组件一起使用时,这非常有效。然而,我最近尝试使用React Datepicker,它有自己的css文件导入到使用React Datepicker的组件中。
我如何修改我的webpack.config.js
文件,使React Datepicker css文件,我导入不得到转换的css模块与本地类名?换句话说,是否有可能配置webpack,以便它将第三方样式导入全局作用域,而将我自己的样式导入局部作用域?
另外,如果我想写自己的自定义样式覆盖React Datepicker样式,我该怎么做,使这些样式是在全局作用域?
设置的问题是exclude: /node_modules/
。从css
加载器设置中删除这一行,React-datepicker
应该可以工作了。
如果你想重写第三方组件的默认样式,你可以
- 查看库是否默认支持,有些库提供主题选项
- 或者,你总是可以找到由库生成的CSS,然后用你自己的规则覆盖。
编辑:
如果你需要显式导入css,你可以创建一个新的加载器,像这样:
{
test: /'.css$/,
exclude: /node_modules/,
loader: 'style!css?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]'
},
{
test: /'.css$/,
include: /node_modules/,
loader: 'style!css'
}
使用:global(.classname)可以覆盖外部的类名。
即使是第三方库css也可以被覆盖。
:global(.classname) {
background-color: #fff;
}
相关文章:
- 在linux上使用软件包减少grunt的大小.文件路径对Jenkins来说太长
- Meteoric(Meteor Ionic)软件包实现故障——Ionic样式未显示
- 如何使用“;system_ indicator”;在Chrome软件包应用程序的框架中
- Bower安装的相同软件包文件结构不同
- 如何在 Laravel 中使用 npm 正确引用新安装的软件包的路径
- CORS预检请求错误无法通过安装npm cors软件包解决
- 将系统.js文件从jspm_packages移动到另一个文件夹,无法解析配置中的软件包
- 通过JPSM安装一些软件包
- 错误:在 ec2 bitnami MEAN 服务器上找不到软件包“cairo”
- Dojo build 1.7 构建的软件包不起作用
- 具有自定义软件包路径的 Dojo 1.9 配置
- 从packagist.org获取软件包的最新版本
- 使用Meteor Search Source软件包获取结果的反应性问题
- RequireJS:何时使用'路径'而'软件包'
- bower安装'dev'软件包的版本;不起作用
- 谷歌Chrome软件包应用程序中的最大化按钮
- Meteor后端管理界面:有没有任何软件包可以让这一切变得简单,一个la Django
- bower安装软件包的存档版本
- 使用CSS模块和第三方软件包
- 如何在 ember v2.6 中构建第三方软件包