mkdir dist
mkdir src
touch ./dist/index.html
npm install --save-dev webpack webpack-dev-server webpack-cli
package.json 에 scripts 추가
"start": "webpack-dev-server --config ./webpack.config.js --mode development",
touch ./src/index.js
인덱스 안에 console.log("hello!");
npm start 하면 컴파일은 되는데 먼가 안됨.
npm install --save-dev @babel/core @babel/preset-env
npm install --save-dev babel-loader
npm install --save-dev @babel/preset-react
"babel": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
},
module.exports = {
entry: './src/index.js',
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
},
resolve: {
extensions: ['*', '.js', '.jsx']
},
output: {
path: __dirname + '/dist',
publicPath: '/',
filename: 'bundle.js'
},
devServer: {
contentBase: './dist'
}
};
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
npm install --save react react-dom
npm install --save-dev react-hot-loader
const webpack = require('webpack');
module.exports = {
entry: './src/index.js',
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
},
resolve: {
extensions: ['*', '.js', '.jsx']
},
output: {
path: __dirname + '/dist',
publicPath: '/',
filename: 'bundle.js'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
devServer: {
contentBase: './dist',
hot: true
}
};
포트 번호는 8080 이다.
바꾸고 싶으면
"start": "webpack-dev-server --config ./webpack.config.js --mode development" 를
이런식으로 하면 된다. "start": "webpack-dev-server --port 8080 --config ./webpack.config.js --mode development"