Dónde poner configuraciones Vue (en un proyecto Ionic)

Estoy usando Ionic + Vue.

Quiero desactivar la carga caliente de Vue.

Encontré esto: https://vue-loader.vuejs.org/guide/hot-reload.html#usage

module: {
  rules: [
    {
      test: /\.vue$/,
      loader: 'vue-loader',
      options: {
        hotReload: false // disables Hot Reload
      }
    }
  ]
}

Pero no puedo averiguar dónde poner esto.

https://vue-loader.vuejs.org/guide/#manual-setup sugiere ponerlo en webpack.config.js, pero no tengo tal archivo en la raíz de mi proyecto. Intenté añadir este archivo con la configuración sugerida pero no tuvo un efecto.

Encontré vue.config.js en la raíz, e intentó añadir la configuración anterior en ella, pero se equivocaron sobre las teclas de configuración inesperadas cuando intenté ejecutar (utilizando) ionic serve, desde la línea de comandos).

¿Dónde debería poner esta configuración?

UPDATE: Traté de implementar la sugerencia de Felipe, y funcionó por su cuenta, pero también tengo esto: config.module.rules.delete('eslint');.

Cuando uso esto y la sugerencia de Felipe - me pongo "error en ./src/App.vue" ionic serve, y un error más elaborado cuando abro la página:

enter image description here

Mi plenitud vue.config.js:

enter image description here

Pregunta hecha hace 3 años, 4 meses, 27 días - Por bughunterx


3 Respuestas:

  • Intenta hacerlo así:

    // vue.config.js
    module.exports = {
      chainWebpack: config => {
        config.module
          .rule('vue')
          .use('vue-loader')
            .loader('vue-loader')
            .tap(options => {
              // modify the options...
              return { ...options, hotReload: false }
            })
      }
    }
    

    Para más información, echa un vistazo Aquí. en los docs donde mencionan específicamente cómo cambiar las opciones de vue-loader

    Respondida el Dec 19, 2020 a las 14:11 - por bytebuster

    Votos positivos: 0 | Votos negativos: 0

  • En un proyecto Ionic con Vue, las configuraciones de Vue se pueden colocar en el archivo vue.config.js en la raíz de tu proyecto. Sin embargo, al momento de agregar configuraciones personalizadas, es importante tener en cuenta la estructura correcta de ese archivo.

    Para desactivar la carga caliente de Vue, puedes seguir estos pasos:

    • Agrega el archivo `vue.config.js` en la raíz de tu proyecto si aún no lo has hecho.
    • Dentro de `vue.config.js`, puedes configurar las reglas de Vue Loader de la siguiente manera:
    javascript
    module.exports = {
      chainWebpack: config => {
        config.module
          .rule('vue')
          .use('vue-loader')
          .loader('vue-loader')
          .tap(options => {
            // modificar las opciones de Vue Loader aquí
            options.hotReload = false;
            return options;
          });
      }
    }
    

    Reemplaza options.hotReload = false; con la configuración que deseas cambiar. En este caso, desactivamos la carga caliente de Vue.

    Al usar config.module.rules.delete('eslint');, estás eliminando la regla de ESLint del proyecto. Es posible que esto afecte a la configuración general de tu proyecto, por lo que debes asegurarte de que no esté causando conflictos con otras configuraciones.

    Si después de aplicar estos cambios sigues teniendo errores, verifica la consola de comandos para obtener más información sobre el error específico y poder abordarlo de manera más precisa.

    Espero que estos pasos te ayuden a gestionar las configuraciones de Vue en tu proyecto Ionic con Vue de manera adecuada. Si necesitas más ayuda, ¡no dudes en preguntar!

    Respondida el Dec 20, 2020 a las 14:11 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Webpack Manual Setup

    En proyectos Ionic, el archivo de configuración de Webpack se encuentra típicamente en src/main.js.

    Para desactivar la carga caliente de Vue, sigue estos pasos:

    • Abre `src/main.js`.
    • Busca la siguiente línea:

    js
       const webpack = require('webpack');
       

    • Debajo de esta línea, añade lo siguiente:

    js
       webpack.module.rules.forEach((rule) => {
         if (rule.test && rule.test.toString().includes('vue')) {
           rule.loader = 'vue-loader';
           rule.options = {
             hotReload: false, // deshabilita Hot Reload
           };
         }
       });
       

    webpack.config.js

    Si aún tienes problemas con src/main.js, puedes intentar crear un archivo webpack.config.js en la raíz de tu proyecto. Este archivo puede contener las configuraciones de Webpack necesarias.

    Agrega el siguiente contenido a webpack.config.js:

    js
    const webpack = require('webpack');
    
    module.exports = {
      module: {
        rules: [
          {
            test: /\.vue$/,
            loader: 'vue-loader',
            options: {
              hotReload: false, // deshabilita Hot Reload
            }
          }
        ]
      }
    };
    

    Error con config.module.rules.delete('eslint');

    Parece que estás intentando eliminar la regla eslint de tus configuraciones de Webpack. Esta regla no es necesaria para deshabilitar la carga caliente de Vue. Elimina esta línea de tu vue.config.js.

    Archivo vue.config.js Finalizado

    Tu archivo vue.config.js finalizado debería verse así:

    js
    module.exports = {
      module: {
        rules: [
          {
            test: /\.vue$/,
            loader: 'vue-loader',
            options: {
              hotReload: false, // deshabilita Hot Reload
            }
          }
        ]
      }
    };
    

    Espero que esto resuelva tu problema. Avísame si tienes más preguntas.

    Respondida el Dec 20, 2020 a las 14:11 - por Gemini

    Votos positivos: 0 | Votos negativos: 0