#########################
# .babelrc
#########################
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
#########################
# index.js
#########################
import React from 'react'
import ReactDOM from 'react-dom'
ReactDOM.render(
<div>Helloooooooooo, ReeeeaAAAAAccckTTTtttu !!!</div>
document.getElementById('root')
)
#########################
# webpack.config.js
#########################
const HtmlWebpackPlugin = require('html-webpack-plugin')
:
module.exports = {
:
module: {
rules: [
:
{
test: /\.jsx?$/,
loader: "babel-loader",
exclude: /node_modules/
} ,
{
test: /\.html$/,
loader: "html-loader",
}
]
},
:
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
filename: './index.html'
})
]
}
#########################
# src/index.html
# ※dist/index.htmlは自動生成されるものとなり、不要になるので、dis/からsrc/へ移動しておく。
#########################
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Hi, Webpaaaaacckkkkkk!!!</title>
</head>
<body>
<script src="main.js"></script>
</body>
</html>
#########################
# index.js
#########################
import React from 'react'
import ReactDOM from 'react-dom'
import './style.css'
import './style.scss'
ReactDOM.render(
<div>Helloooooooooo, ReeeeaAAAAAccckTTTtttu !!!</div>,
document.getElementById('root')
)
#########################
# webpack.config.js
#########################
const HtmlWebpackPlugin = require('html-webpack-plugin')
:
module.exports = {
:
module: {
rules: [
{
test: /\.(sc|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'sass-loader'
]
},
:
]
},
:
plugins: [
:
new MiniCssExtractPlugin({
filename: '[name].[hash].css'
})
]
}
#########################
# src/index.html
#########################
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Hi, Webpaaaaacckkkkkk!!!</title>
</head>
<body class="haikei"> ★ここ変えた★
<div id="root"></div>
</body>
</html>
#########################
# webpack.config.js
#########################
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
:
module.exports = {
:
optimization: {
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
compress: {
drop_console: true
}
}
})
],
},
}
#########################
# webpack.config.js
#########################
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
:
module.exports = {
:
optimization: {
minimizer: [
:
new OptimizeCSSAssetsPlugin({})
],
},
}
#########################
# webpack.config.js
#########################
module.exports = {
:
devtool: 'eval-source-map'
}