Webpack 导入的scss类名转换为哈希
我有一个网页包配置(基于React)。我看到的一件事是,导入的scss文件上的类名被转换为散列 我尝试将样式作为对象导入,并按名称引用样式类,但它们只是消失了。没有在其他项目上看到这种行为,也不确定我做错了什么Webpack 导入的scss类名转换为哈希,webpack,webpack-2,Webpack,Webpack 2,我有一个网页包配置(基于React)。我看到的一件事是,导入的scss文件上的类名被转换为散列 我尝试将样式作为对象导入,并按名称引用样式类,但它们只是消失了。没有在其他项目上看到这种行为,也不确定我做错了什么 import './styles/scss/app.scss'; function App() { return ( <Provider store={ store }> <IntlProvider>
import './styles/scss/app.scss';
function App() {
return (
<Provider store={ store }>
<IntlProvider>
<MuiThemeProvider>
<Switch>
<Route exact path="/" component={Home} />
<Route component={Error404} />
</Switch>
</MuiThemeProvider>
</IntlProvider>
</Provider>
)
}
import styles from './portfolio.scss';
[...]
return (
<div className={cx(styles.phoneAni, {active: imageOpen})}>
<img src="img/iphone_s01_1.png"/>
<img src="img/iphone_s01_0.png"/>
<img src="img/iphone_s02_2.png"/>
</div>
);
类名被转换为散列,因为要禁用它,必须在css加载程序选项对象中设置
modules:false,
。或者,您可能仍然使用css模块,但需要翻译html中的类以使用生成的类 localIdentName怎么样?默认值为u[hash:base64:22] webpack.config.js
test: /\.(css|sass)$/,
use: [{
loader: "css-loader?modules",
options: {
modules: true,
localIdentName: '[local]'
//sample(if u use custom className)
//localIdentName: '[path][name]__[local]--[hash:base64:5]'
//localIdentName: '[local]--[hash:base64:5]'
}
...
现在你可以使用
{
loader: 'css-loader',
options: {
modules: {
localIdentName: '[local]__[hash:base64:5]'
}
}
},
更多信息另一种处理方法是,如果您仍然想使用css模块,那么我发现它围绕着您不想使用的css进行转换。在
:global{}
{
loader: 'css-loader',
options: {
modules: {
localIdentName: '[local]__[hash:base64:5]'
}
}
},