鍍金池/ 問答/數(shù)據(jù)庫  HTML/ CSS Modules 配置不生效 webpack4

CSS Modules 配置不生效 webpack4

使用webpack4來構(gòu)建vue項目,在配置文件中配置了CSS Modules,但是使用時并沒有效果,也不報錯!
下面是配置文件中module選項的代碼

module: {
    rules: [
      {
        test:/\.html$/,
        use:["html-loader"]
      },
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          cssModules: {
            localIdentName: '[path][name]---[local]---[hash:base64:5]',
            camelCase: true
          }
        }
      },
      {
        test: /\.css$/,
        use: [
          { loader: 'style-loader' },
          { loader: 'css-loader'}
        ]
      },
      {
        test: /\.scss$/,
        use: [
          { loader: 'style-loader'},
          { loader: 'css-loader'},
          {
            loader: 'px2rem-loader',
            // options here
            options: {
              remUni: 75,
              remPrecision: 8
            }
          },
          { loader: 'sass-loader' }
        ]
      }
    ]
  },

下面是vue組件的代碼

<template>
  <div>
    <h1 class="home" :class="$style.home">home</h1>
    <p :class="$style.title">888</p>
  </div>
</template>
<script>
export default {
  
}
</script>
<style lang="scss" module>
@import '../../assets/css/reset.scss';
.home{
  color: blue;
  font-size: 80px;
}
</style>

正常應該顯示cssmodule生成的class名的 ,但是現(xiàn)在什么都沒有
clipboard.png

回答
編輯回答
哚蕾咪

為什么呢? 我也遇到了,請問樓主解決了嗎?

2017年4月24日 21:16
編輯回答
巴扎嘿

如果你是用的vue-loader v15版本的話可以參考

CSS Modules
CSS Modules 現(xiàn)在需要通過 css-loader 選項顯式地配置。<style> 標簽上的 module 特性仍然需要用來局部注入到組件中。

好消息是你現(xiàn)在可以在同一處配置 localIdentName 了:

{
module: {

rules: [
  {
    test: /\.css$/,
    use: [
      {
        loader: 'vue-style-loader'
      },
      {
        loader: 'css-loader',
        options: {
          modules: true,
          localIdentName: '[local]_[hash:base64:8]'
        }
      }
    ]
  }
]

}
}

官方文檔
https://vue-loader.vuejs.org/...

2017年11月14日 11:35
編輯回答
孤島

我也碰到了同樣的問題,不清楚哪兒出了問題,也不報錯

2018年6月16日 20:29