Al 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

Andrés Felipe Mesa David

Pregunta
studenthace 5 años

Al 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?

6 respuestas
para escribir tu comentario
    Andrés Felipe Mesa David

    Andrés Felipe Mesa David

    studenthace 5 años

    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
    y luego correr un
    npm audit fix
    . No sé porqué pasó todo esto pero funcionó jaja Gracias por tu tiempo, John!

    John Cardenas

    John Cardenas

    studenthace 5 años

    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

    Andrés Felipe Mesa David

    studenthace 5 años

    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

    John Cardenas

    studenthace 5 años

    Andres el problema se encuentra en la parte de plugins. Debes guardar el objeto hijo del

    HtmlWebpackPlugin
    en un array, no ponerlo directamente.

    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
    están dentro de un array.

    Andrés Felipe Mesa David

    Andrés Felipe Mesa David

    studenthace 5 años

    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

    John Cardenas

    studenthace 5 años

    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

Curso de Single Page Application con JavaScript Vanilla

Curso de Single Page Application con JavaScript Vanilla

Crea una SPA (Single Page Aplication) con JavaScript Vanilla. Diseña una experiencia de navegación fluida para tus usuarios a través del manejo de rutas y el llamado a una API para mostrar la información y navegar entre los detalles de cada personaje. Aprovecha la simpleza de JS y ponla al servicio de tus necesidades entrando a este curso de SPA con JavaScript Vanilla.

Curso de Single Page Application con JavaScript Vanilla
Curso de Single Page Application con JavaScript Vanilla

Curso de Single Page Application con JavaScript Vanilla

Crea una SPA (Single Page Aplication) con JavaScript Vanilla. Diseña una experiencia de navegación fluida para tus usuarios a través del manejo de rutas y el llamado a una API para mostrar la información y navegar entre los detalles de cada personaje. Aprovecha la simpleza de JS y ponla al servicio de tus necesidades entrando a este curso de SPA con JavaScript Vanilla.