Official documentation太复杂了,不适合我。有没有人知道如何使用webpack设置css-modules
的好文章?
更新
这是我的模块配置。它是在尝试达到我的目标时编辑的,因此它与原始目标不同。
module: {
rules: [
{ test: /\.js$/, exclude: /node_modules/, loader: "react-hot-loader!babel-loader" },
{
test: /\.scss$/,
use: [{
loader: "style-loader"
}, {
loader: "css-loader"
}, {
loader: "sass-loader"
}]
}, {
test: /\.png$/,
loader: 'file-loader?name=[name]--[hash].[ext]',
}
],
loaders: [{
test: /\.css/,
loader: 'style-loader!css-loader&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
}, {
test: /\.html$/,
loader: 'file-loader',
}]
},
答案 0 :(得分:0)
这很简单
您需要样式加载器,css-loader和设置模块模式。
{
test: /\.css$/,
loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
}
像那样。
其中[name]__[local]___[hash:base64:5]
表示webpack将为您生成的css类的结构。
我建议按照本指南,真的那么简单。 https://github.com/css-modules/webpack-demo
答案 1 :(得分:0)
loaders: [{
test: /\.css$/,
loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
}],
在css-loader
之后,您需要添加?
,然后添加modules
,依此类推。
在组件中,您需要导入样式:
import style from './App.css';
style - 它只是具有与选择器匹配的属性的对象。
组件中的用法看起来如此:
const App = props => (
<header className={style.header}>
<Link to="/" className={style.link}>Awesome blog</Link>
</header>);
App.css看起来如此:
.header {
font-size: 35px;
text-align: center;
line-height: 1.3;
}