Переглянути джерело

fix: hmr multiple registered components

vben 4 роки тому
батько
коміт
7a6181e8c7
3 змінених файлів з 10 додано та 1 видалено
  1. 4 0
      CHANGELOG.zh_CN.md
  2. 1 1
      src/App.vue
  3. 5 0
      src/components/registerGlobComp.ts

+ 4 - 0
CHANGELOG.zh_CN.md

@@ -16,6 +16,10 @@
 
 - 独立出`vite-plugin-html`,并修改相关插入 html 的逻辑
 
+### 🐛 Bug Fixes
+
+- 修复热更新时多次注册组件警告问题
+
 ## 2.0.0-rc.5 (2020-10-26)
 
 ### ✨ Features

+ 1 - 1
src/App.vue

@@ -20,7 +20,7 @@
   moment.locale('zh-cn');
 
   export default defineComponent({
-    name: 'App',
+    name: 'App1',
     components: { ConfigProvider },
     setup() {
       useInitAppConfigStore();

+ 5 - 0
src/components/registerGlobComp.ts

@@ -5,8 +5,13 @@ import { Button as AntButton } from 'ant-design-vue';
 import { getApp } from '/@/useApp';
 
 const compList = [Icon, BasicHelp, BasicTitle, Button, AntButton.Group];
+
+// Fix hmr multiple registered components
+let registered = false;
 export function registerGlobComp() {
+  if (registered) return;
   compList.forEach((comp: any) => {
     getApp().component(comp.name, comp);
   });
+  registered = true;
 }