当模块选项设置为 true 时,Webpack css-loader 不会加载 css
Webpack css-loader doesn't load css when the modules option is set to true
我正在尝试将 CSS 作为模块导入 React 应用程序。
我已将其添加到我的 webpack.config.js 文件
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{ loader: 'css-loader', options: { modules: true } },
],
},
这是实现
app.tsx
import styles from './styles.module.css';
class App extends React.Component {
render() {
return (
<div className={styles.mainContent}>
<h1> Hello, World! </h1>
<Button type="primary">Antd works!</Button>
</div>
);
}
}
styles.module.css
.mainContent {
color: limegreen;
}
但是这个CSSclass对
output.
如果你想改变 antd 的全局设计,你可以使用 less 加载器,如 custom theme with webpack config.
的 antd 文档中所述
如果您只想更改按钮颜色,可以使用纯色 css。例如:
.ant-btn-primary {
background: red;
border-color: red;
}
这是一个带有自定义按钮颜色的 CodeSandbox。
为了避免重复的 class 名称,css 模块在编译时转换 class 名称。
因此您将无法使用 css 模块覆盖 css classes,因为 class 名称将始终彼此不同。
为了覆盖 css class 你需要使用普通的 css,例如
import './styles.css';
class App extends React.Component {
render() {
return (
<div className="mainContent">
<h1> Hello, World! </h1>
<Button type="primary">Antd works!</Button>
</div>
);
}
}
我正在尝试将 CSS 作为模块导入 React 应用程序。 我已将其添加到我的 webpack.config.js 文件
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{ loader: 'css-loader', options: { modules: true } },
],
},
这是实现
app.tsx
import styles from './styles.module.css';
class App extends React.Component {
render() {
return (
<div className={styles.mainContent}>
<h1> Hello, World! </h1>
<Button type="primary">Antd works!</Button>
</div>
);
}
}
styles.module.css
.mainContent {
color: limegreen;
}
但是这个CSSclass对 output.
如果你想改变 antd 的全局设计,你可以使用 less 加载器,如 custom theme with webpack config.
的 antd 文档中所述如果您只想更改按钮颜色,可以使用纯色 css。例如:
.ant-btn-primary {
background: red;
border-color: red;
}
这是一个带有自定义按钮颜色的 CodeSandbox。
为了避免重复的 class 名称,css 模块在编译时转换 class 名称。
因此您将无法使用 css 模块覆盖 css classes,因为 class 名称将始终彼此不同。
为了覆盖 css class 你需要使用普通的 css,例如
import './styles.css';
class App extends React.Component {
render() {
return (
<div className="mainContent">
<h1> Hello, World! </h1>
<Button type="primary">Antd works!</Button>
</div>
);
}
}