2017-04-18 53 views
0

Official documentation方式太複雜,不適合我。有誰知道任何好文章如何設置css-modules與webpack?如何設置css-modules?

react-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

這是相當簡單的

你需要的風格,裝載機,CSS裝載機和設置模塊模式。

{ 
    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

+0

這就是我所做的,仍然有我的CSS類沒有前綴 –

+0

ü可以分享您的WebPack配置? –

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'; 

風格 - 它只是與特性,這比賽選擇對象。

而且在組件的使用看起來如此:

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; 
}