css module设置localIdent,样式失效,hash错误,webpack。getLocalIdent mismatch

今天做使用css modules的React项目的时候发现项目启动后样式错乱&丢失
表现行为是:
审查元素发现样式丢失,搜索相关样式发现,css存在,但是hash不一样。

定位原因是:

  1. 项目使用了babel-plugin-react-css-modules

.babelrc中

{
  "plugins": [
    ["react-css-modules", {
      "option": "value",
      exclude: 'node_modules',
        autoResolveMultipleImports: true,
        filetypes: {
          '.scss': {
            syntax: 'postcss-scss',
            plugins: ['postcss-nested'],
          },
        },
        generateScopedName: XXXXX,
    }]
  ]
}
  1. webpack中使用css-loader:
{
            loader: 'css-loader',
            options: {
              modules: true,
              localIdent: [folder]-[local]__[hash]
            },
          }

重点在于 hash生成的不一样。 所以确保hash一致,问题就 解决了。

你可能感兴趣的:(前端技术-webpack,前端技术-css,javascript,webpack,css)