Configuração do Webpack
1. Iniciar um projeto Node:
$ npm init -y2. Instalar os pacotes necessários (Babel e Webpack):
$ npm i --save-dev @babel/preset-env @babel/cli @babel/core babel-loader webpack webpack-cli regenerator-runtime core-js@23. Criar o arquivo de configuração do Webpack:
Nota
O nome do arquivo precisa ser igual a
webpack.config.jse deve estar no diretório raiz do projeto.
1. Importar o módulo path do CommonJS:
const path = require('path');2. Exportar o objeto de configuração do Webpack:
module.exports = {
	// ...
}Propriedades do objeto de configuração do Webpack:
- 
mode: especificar o modo de trabalho:developmentouproduction - 
entry: especificar o caminho até o arquivo de entrada da aplicação. Utilizar o caminho relativo ao informar o arquivo. - 
output:- 
path: caminho até o diretório que será enviado o arquivo de saída (arquivo transpilado)filename: nome do arquivo de saída
 
 - 
 - 
devtool: especificar a ferramenta de desenvolvimento utilizada para fazer o mapeamento entre o código fonte e o arquivo transpilado (para depuração do código,) - 
module- 
rules: especificar as regras do módulo- 
exclude: especificar diretórios e arquivos que devem ser ignorados pelo webpack - 
test: especificar os arquivos/tipo do arquivo que serão transpilados - 
use:- 
loader: especificar o loader que deve ser usado pelo webpack - 
options:presets: especificar o(s) presets
 
 - 
 
 - 
 
 - 
 
3. Definir o mode:
module.exports = {
  mode: "production",
  // ...
}4. Criar o arquivo de entrada da aplicação no diretório src/:
Nota
No diretório
src/é armazena o código fonte da aplicação.
5. Definir o entry:
module.exports = {
  entry: "./src/index.js",
  // ...
}6. Definir as propriedades path e filename do objeto output:
module.exports = {
  output: {
	path: path.resolve(__dirname, "public", "assets", "js"),
	filename: "bundle.js",
  },
  // ...
}Nota
__dirnameé uma variável global que armazena o caminho absoluto até o diretório raiz do projeto.
7. Definir o devtool:
module.exports = {
  devtool: "source-map",
  // ...
};8. Definir as rules do module:
module.exports = {
  module: {
	rules: [
	  {
		exclude: /node_modules/,
		test: /\.js$/,
		use: {
		  loader: "babel-loader",
		  options: {
			presets: ["@babel/env"],
		  },
		},
	  },
	],
  },
  // ...
};9. Após ter realizado todas as etapas anteriores, o arquivo webpack.config.js deve estar da seguinte forma:
const path = require("path");
 
module.exports = {
  mode: "production",
  entry: "./src/index.js",
  output: {
	path: path.resolve(__dirname, "public", "assets", "js"),
	filename: "bundle.js",
  },
  module: {
	rules: [
	  {
		exclude: /node_modules/,
		test: /\.js$/,
		use: {
		  loader: "babel-loader",
		  options: {
			presets: ["@babel/env"],
		  },
		},
	  },
	],
  },
  devtool: "source-map",
};