Где размещать конфигурации Vue (в проекте Ionic)

Я использую Ionic+Vue.

Я хочу отключить горячую перезагрузку Vue.

Я нашел это: https://vue-loader.vuejs.org/guide/hot-reload.html#usage

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

Но я не могу понять, куда это поместить.

https://vue-loader.vuejs.org/guide/#manual-setup предлагает поставить webpack.config.js, но у меня нет такого файла в корне моего проекта. Я попытался добавить этот файл с предложенной конфигурацией, но это не дало эффекта.

Я нашел vue.config.js в корне и попытался добавить в него указанную выше конфигурацию, но получил ошибки о неожиданных ключах конфигурации при попытке запуска (используя ionic serve из командной строки).

Где я должен разместить эту конфигурацию?

ОБНОВЛЕНИЕ: я попытался реализовать предложение Фелипе, и оно сработало само по себе, но у меня также есть это: config.module.rules.delete('eslint');.

Когда я использую и это, и предложение Фелипе, я получаю «ошибку в ./src/App.vue» на ionic serve и более сложную ошибку при открытии страницы:

Мои полные vue.config.js:

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
839
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте сделать это так:

// 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 }
        })
  }
}

Для получения дополнительной информации загляните здесь в документы, где конкретно упоминается, как изменить параметры vue-loader.

Спасибо! Он работает «сам по себе», но мне все еще трудно заставить его работать с моим существующим vue.config.js. Я обновил вопрос, чтобы отразить это, может быть, вы могли бы помочь? Пожалуйста, смотрите дополнительный текст после маркера UPDATE:. Спасибо!

obe 26.12.2020 13:17

По-видимому, vue-template-compiler должен быть установлен в devDependencies той же версии, что и @vue. Можете ли вы попробовать удалить node_modules и снова установить вместе с этим пакетом?

Felipe Malara 26.12.2020 13:22

package.json и вся конфигурация сборки были созданы ionic автоматически. Я немного беспокоюсь о том, чтобы сломать другие вещи. например У меня уже есть "@vue/compiler-sfc": "^3.0.0-0", (по названию я предполагаю, что он может конфликтовать с пакетом под названием vue-template-compiler, но могу ошибаться)... почему так сложно просто отключить функцию? :((

obe 26.12.2020 13:31

Можно немного поковыряться, просто для вопроса, а зачем вам эслинт снимать? Это может быть очень необходимо, когда мы хотим применить хорошие шаблоны проектирования. Вместо этого вы можете изменить раздражающие вас правила, изменив файл .eslintrc.js.

Felipe Malara 26.12.2020 13:36

Да, вы правы, я пытался отключить его раньше, но не удалось. Но теперь вы вдохновили меня попробовать еще раз, и мне это удалось. Я хотел отключить @typescript-eslint/no-unused-vars. Раньше я пробовал "no-unused-vars": "off" и это не имело никакого эффекта. Но только сейчас попробовал полную "@typescript-eslint/no-unused-vars": "off" и все работает! К сожалению, похоже, я ошибался, думая, что HMR cfg работает сам по себе. Теперь, даже без строки удаления линтера, я получаю ошибку, о которой я упоминал ранее (первый SS в разделе «ОБНОВЛЕНИЕ»)

obe 26.12.2020 13:47

Кстати, кажется, что npmjs.com/package/vue-template-compiler предназначен для Vue 2, но я использую Vue 3...

obe 26.12.2020 13:49

Давайте продолжим обсуждение в чате.

Felipe Malara 26.12.2020 14:22

Другие вопросы по теме