Ответ 1
Вы можете использовать установленный npm normalize.css
следующим образом: React:
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": "^15.4.2",
"react-dom": "^15.4.2"
},
"devDependencies": {
"babel-core": "^6.23.1",
"babel-loader": "^6.3.1",
"babel-preset-env": "^1.1.8",
"babel-preset-react": "^6.23.0",
"css-loader": "^0.26.1",
"style-loader": "^0.13.1",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.3.0"
}
}
3) Используйте правильные загрузчики в webpack.config.js
:
const path = require('path');
module.exports = {
entry: path.resolve(__dirname, './index.js'),
output: {
path: path.resolve(__dirname, './dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.js$/,
exclude: path.resolve(__dirname, './node_modules'),
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="bundle.js"></script>
</body>
</html>
4) Установите все
npm install
5) Запустите Webpack devserver:
./node_modules/.bin/webpack-dev-server --open
ПРИМЕЧАНИЕ. Я использую версию 5.0.0
для normalize.css
. Если вы используете версию 6.0.0
или выше, шрифт будет отличаться. Все одобренные правила были удалены из normalize.css
в этой версии.