ReactJSでwebpackを使用し、npmをインストールしてからnormalize.cssを使用する方法を見つけようとしています( https://necolas.github.io/normalize.css/ )。
Npmをインストールした直後にnormalize.cssが適用されますか?必要に応じて編集するにはどうすればよいですか?
事前に感謝し、必ず投票して回答を受け入れます
Reactでは、npm-installed normalize.css
を次の方法で使用できます。
import React from 'react';
import ReactDOM from 'react-dom';
import 'normalize.css'; // Note this
const root = document.getElementById('root');
ReactDOM.render(<h1>Hello, World!</h1>, root);
結果は次のようになります。
テキストのスタイルがnormalize.css
になっていることに注意してください。
動作させるには、次のセットアップに似たものが必要です。
1)上記のJavascriptをindex.js
に追加します
2)normalize.css
(および友人)をpackage.json
に追加します。
{
"dependencies": {
"normalize.css": "^5.0.0",
"react": "^16.3.2",
"react-dom": "^16.3.2"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"css-loader": "^0.28.11",
"style-loader": "^0.21.0",
"webpack-dev-server": "^3.1.4",
"webpack": "^4.8.3"
}
}
3)webpack.config.js
で正しいローダーを使用します:
module.exports = {
mode: 'development',
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
options: { presets: ['env', 'react'] }
},
{
test: /\.css$/,
use: [{ loader: 'style-loader' }, { loader: 'css-loader' }]
}
]
}
};
4)index.html
ファイルを追加して、結果を確認します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="root"></div>
<script src="main.js"></script>
</body>
</html>
4)すべてをインストールする
npm install
5)Webpack devserverを開始します。
./node_modules/.bin/webpack-dev-server --open
注:バージョン5.0.0
of normalize.css
を使用しています。バージョン6.0.0
以降を使用する場合、フォントは異なります。そのバージョンのnormalize.css
からすべての意見のルールが削除されました。
2018年5月17日更新:Webpack 4およびReact 16.を使用するように更新しました。
追加:WebPack 4を使用していて、normalize.lessをインポートできない場合は、normalize.cssを試してください。
@import "../node_modules/normalize.css/normalize.css";
そして私のルール:
module: {
rules: [{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader,
"css-loader"
]
},
{
test: /\.less$/,
use: [
MiniCssExtractPlugin.loader,
"css-loader",
"less-loader"
]
}
]
};