
Andrés Felipe Mesa David
PreguntaAl ejecutar npm run build, solo me genera el archivo main.js. Y no el index.html. Alguno tiene idea de por qué puede pasar esto?

Andrés Felipe Mesa David
Sí, ya lo solucioné. Me tocó instalar las versiones exactas con las que trabajan en los videos para poder que funcionara. Además de Instalar
mime
npm audit fix

John Cardenas
Que raro... revisando mi código de esta clase tengo el objeto dentro de un array y me funciona normal.
¿Lo lograste solucionar?, ¿Qué hay del archivo package.json y la versión o la instalación del html-webpack-plugin?

Andrés Felipe Mesa David
En una clase posterior quitan esos [] porque indica que no debe ser un array sino un objeto. De igual manera, quitando los [] o dejandolo en array, no me funciona.

John Cardenas
Andres el problema se encuentra en la parte de plugins. Debes guardar el objeto hijo del
HtmlWebpackPlugin
Lo tienes así:
plugins: [ new HtmlWebpackPlugin( { inject: true, template: './public/index.html', filename: './index.html', } ), ] }
Debería ser así:
plugins: [ new HtmlWebpackPlugin([ { inject: true, template: './public/index.html', filename: './index.html', } ]), ] }
Fijate que ahora el objeto donde se encuentra inject, template y filename

Andrés Felipe Mesa David
Hola, John. Está igual que el que hizo Oscar.
const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'main.js' }, resolve: { extensions: ['.js'], }, module: { rules: [ { test: /\.js?$/, exclude: /node_modules/, use: { loader: 'babel-loader', } } ] }, plugins: [ new HtmlWebpackPlugin( { inject: true, template: './public/index.html', filename: './index.html', } ), ] }

John Cardenas
Hola Andres
Lo más probable es que sea por la configuración que tienes en el archivo webpack.config.js. Subelo para poder ver que sucede :D