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

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

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

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

В моем основном файле приложения .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/#addstatushandler.

0 голосов
/ 20 декабря 2018

ваша ссылка содержит ответ на ваш вопрос. Просто добавьте в свой 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) в нескольких событиях, чтобы мы могли проверить, что у вас есть?

...