base https://webpack.js.org/guides/production/
Quiero usar una plantilla html diferente en webpack.dev.js y webpack.prod.js
paquete web.common.js
const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: { app: './src/index.js', }, plugins: [ new HtmlWebpackPlugin({ title: 'Production' }), ] };webpack.dev.js
const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); module.exports = merge(common, { mode: 'development', plugins: [ new HtmlWebpackPlugin({ template:'./public/index-dev.html', }) ] });webpack.prod.js
const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); module.exports = merge(common, { mode: 'production', plugins: new HtmlWebpackPlugin({ template:'./public/index.html', }) ] });informe ReferenceError: HtmlWebpackPlugin no está definido cuando npm se ejecuta con estas configuraciones
Sin un requerimiento/importación explícito, no puede acceder directamente a HtmlWebpackPlugin de nada más desde un archivo de configuración en otro. Fusionar solo une la parte de configuración, no los archivos completos.
Por lo tanto, debe tener const HtmlWebpackPlugin = require('html-webpack-plugin'); en todos los archivos donde se utiliza HtmlWebpackPlugin.
webpage-merge no combina todos los datos del archivo, solo el objeto module.exports en sí.