$ yarn run eject
$ yarn eject

次に、webpack.config.dev.js, webpack.config.prod.js を変更する。

webpack.config.dev.js の 165 行目あたりを変更。具体的には modules: true にして、localIdenName でどのようなクラス名が着くかを指定する。

{
                loader: require.resolve('css-loader'),
                options: {
                  importLoaders: 1,
                  modules: true,
                  localIdentName: "[name]__[local]___[hash:base64:5]"
                },
              },

同様に webpack.config.prod.js にも追加。

{
                      loader: require.resolve('css-loader'),
                      options: {
                        importLoaders: 1,
                        minimize: true,
                        sourceMap: shouldUseSourceMap,
                        modules: true,
                        localIdentName: "[name]__[local]___[hash:base64:5]"
                      },
                    },

基礎

読み込んだ CSS はコンポート内だけに有効。クラスネームに、styles.CSSで指定したクラス名 を指定する。

// app.js

import React, { Component } from 'react';
import styles from './App.css';

class App extends Component {
  render() {
    return (
      <div className={styles.app}>
        <p className={styles.blue}>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis, harum!</p>
      </div>
    );
  }
}

export default App;

読み込む CSS は普通の CSS を書けばよい。

/* App.css */

.app {
  background-color: red;
}

.app:hover {
  background-color: yellowgreen;
}

.blue {
  color: blue;
}

results matching ""

    No results matching ""