如何同时使用 css-modules 和 bootstrap?
How to use css-modules and bootstrap at same time?
我正在为我的项目使用 electron-react-boilerplate,并且此样板使用 css-modules 进行样式设置。
我在同一个地方使用 bootstrap 和自定义样式时遇到问题。
假设我有一个代码片段,
<div className="container">
<div className="row custom-css">
// other codes...
</div>
在那种情况下,'row' 是一个 bootstrap 类名,'custom-css' 是我自己的样式类名。
请帮助我找到解决这些问题的方法,以便我可以一起使用 css-modules 和 bootstrap。 ..
您需要从特定于此组件的模块文件中导入 CSS 模块样式,然后通过返回的对象将它们插入到类名中...
MyComponent.css
.myCustomClassName {
color: #fff;
}
MyComponent.js
import styles from './MyComponent.css';
<div className=`row ${styles.myCustomClassName}` />
当输出为 HTML 时,这将变成类似...
<div class="row MyComponent__myCustomClassName___n1cC4ge}` />
因此,只要您将 bootstrap CSS 加载到某个地方,这两个
我有点受困于此(至于如何加载 Bootstrap)。
我在我的 webpack 配置文件中创建了这个粗略的编辑。
{
test: /(\.bootstrap\.css$|bootstrap-theme.css|bootstrap.css)/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
minimize: true || {/* CSSNano Options */}
}
},
],
},
{
test: /^((?!\.bootstrap|bootstrap-theme).)*\.css$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009',
}),
],
},
}
]
},
剩下的都被alechill完美覆盖了
谢谢你们,我发现它通过在
周围添加 {}
来工作
<div className={`row ${styles.myCustomClassName}`} />
我正在为我的项目使用 electron-react-boilerplate,并且此样板使用 css-modules 进行样式设置。 我在同一个地方使用 bootstrap 和自定义样式时遇到问题。 假设我有一个代码片段,
<div className="container">
<div className="row custom-css">
// other codes...
</div>
在那种情况下,'row' 是一个 bootstrap 类名,'custom-css' 是我自己的样式类名。 请帮助我找到解决这些问题的方法,以便我可以一起使用 css-modules 和 bootstrap。 ..
您需要从特定于此组件的模块文件中导入 CSS 模块样式,然后通过返回的对象将它们插入到类名中...
MyComponent.css
.myCustomClassName {
color: #fff;
}
MyComponent.js
import styles from './MyComponent.css';
<div className=`row ${styles.myCustomClassName}` />
当输出为 HTML 时,这将变成类似...
<div class="row MyComponent__myCustomClassName___n1cC4ge}` />
因此,只要您将 bootstrap CSS 加载到某个地方,这两个
我有点受困于此(至于如何加载 Bootstrap)。 我在我的 webpack 配置文件中创建了这个粗略的编辑。
{
test: /(\.bootstrap\.css$|bootstrap-theme.css|bootstrap.css)/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
minimize: true || {/* CSSNano Options */}
}
},
],
},
{
test: /^((?!\.bootstrap|bootstrap-theme).)*\.css$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009',
}),
],
},
}
]
},
剩下的都被alechill完美覆盖了
谢谢你们,我发现它通过在
周围添加{}
来工作
<div className={`row ${styles.myCustomClassName}`} />