Как настроить мой сайт Vue.js для очистки консоли Javascript браузера при каждом событии горячей перезагрузки?

У меня есть сайт Vue.js с Webpack Dev Middleware (обслуживается через сайт ASP.NET Core веб-сервером HTTP.sys, хотя я предполагаю, что это не имеет значения). Кто-нибудь знает, как я могу настроить свой сайт для очистки консоли Javascript браузера при каждом событии горячей перезагрузки?

Вот единственная связанная ссылка, которую я могу найти, но, похоже, она предназначена для веб-сервера, которым я не пользуюсь. Я не уверен, почему конкретный веб-сервер будет иметь значение.

0 ответов

В моем основном файле приложения.js:

if (module.hot) {
    module.hot.accept() // already had this init code 

    module.hot.addStatusHandler(status => {
        if (status === 'prepare') console.clear()
    })
}

Это заставило меня работать последовательно.

Смотрите также https://webpack.js.org/api/hot-module-replacement/.

Ваша ссылка содержит ответ на ваш вопрос. Просто добавьте в свой main.js файл:

window.addEventListener('message', (e) => {
  if (e.data && typeof e.data === 'string' && e.data.match(/webpackHotUpdate/)) {
    console.log('hot reload happened')
    console.clear()
  }
})

Пример полного файла main.js:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

window.addEventListener('message', (e) => {
  if (e.data && typeof e.data === 'string' && e.data.match(/webpackHotUpdate/)) {
    console.log('hot reload happened')
    console.clear()
  }
})

РЕДАКТИРОВАТЬ: Я не читал ваши ответы на вопрос GitHub. Не могли бы вы предоставить какой-то JSON.stringify(e) на вашем событии сообщения о нескольких событиях, чтобы мы могли проверить, что у вас есть?

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