2017-04-18 81 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; 
}