猿问

vuex 为什么需要添加热重载?

最近看vuex的官网,发现可以对vuex进行热重载。我想问下为什么要对vuex 进行热重载,这有什么用吗,或者对那些业务场景有帮助。谢谢解答?。

// store.js

import Vue from 'vue'

import Vuex from 'vuex'

import mutations from './mutations'

import moduleA from './modules/a'


Vue.use(Vuex)


const state = { ... }


const store = new Vuex.Store({

  state,

  mutations,

  modules: {

    a: moduleA

  }

})


if (module.hot) {

  // 使 action 和 mutation 成为可热重载模块

  module.hot.accept(['./mutations', './modules/a'], () => {

    // 获取更新后的模块

    // 因为 babel 6 的模块编译格式问题,这里需要加上 `.default`

    const newMutations = require('./mutations').default

    const newModuleA = require('./modules/a').default

    // 加载新模块

    store.hotUpdate({

      mutations: newMutations,

      modules: {

        a: newModuleA

      }

    })

  })

}


萧十郎
浏览 1371回答 2
2回答

慕仙森

谢邀,热重载跟业务无关,是为了让开发更加便捷,不需要频繁刷新重来。

桃花长相依

没啥特别的,就是webpack的热重载功能,提高开发效率的,跟上线后没关系。比如配置了mutations的热重载,你添加新的mutations方法的时候就不会刷新页面,而是加载一段新的js,不配页面就会刷新...
随时随地看视频慕课网APP
我要回答