通过Vue CLI项目触发页面重新加载对导入的JS文件进行的更改

时间:2019-06-08 07:48:17

标签: vue.js webpack vue-cli-3 webpack-hmr

当我对./src/fn下的任何功能.js文件进行更改时,热重装均无法正常工作并触发页面重装。

我一直在尝试配置vue.config.js使其正确包含HMR目录。我也尝试将自定义帮助程序用作Vue.use(myPlugin)。

/* functions.js (just a part of it) */
export const Functions = {
  game: {
    helper: helpers,
    turn: turn,
    ui: ui,
    validate: validate,
    card: cards
  },
}

/* main.js */
import Functions from './functions.js';
Vue.prototype.$myFn = Functions;

预期HMR可以工作,但是在对functions.js(或在functions.js中导入的任何基础js文件)进行更改时,会重新加载整个页面

1 个答案:

答案 0 :(得分:1)

向Vue原型添加您自己的对象和功能有点反模式。在这种情况下,Webpack无法确定所做更改的程度,因此它会退回到页面重新加载的状态。这是因为可以静态分析ES模块,而不能静态分析全局对象。

这里有一些有关静态分析的文章:

从Vue原型中删除功能,并始终使用ES modules来构造功能。然后,您可以MATCH (p:Person)-[:contributedTo]-(cw:CreativeWork) WHERE cw.officialTitle IN ['Antz', 'The Specialist'] WITH p,count(cw) as rels, collect(cw) as cws WHERE rels > 1 RETURN p,cws 将它们import放入其他模块或组件中,而无需使用过去的旧式全局hack方法。