vue3.0--组件模块系统

一、使用组件模块系统的步骤

  • 1.引入组件
  • 2.把引入的所有组件全部暴露出去
  • 3.按需引入文件

二、组件模块系统的同步加载

**common.js**
import {defineAsyncComponent} from 'vue'
let A=defineAsyncComponent(()=>import("../components/comA"));
let B=defineAsyncComponent(()=>import("../components/comB"));
//暴露
export default{
   components:{
       A,B
   }
}

**App.vue**
 <div id="App">
   <v-home></v-home>
 </div>
 
import {defineAsyncComponent} from 'vue';
export default {
 name: 'App',
 components:{
   'v-home':defineAsyncComponent(()=>import('./components/Home')),
 },
}

**Home.vue**
<div id="Home">
   Home
   <A></A>
   <B></B>
</div>

//同步引入
import common from '../commonJS/common'
export default{
   name:"Home",
   components:common.components,
   mounted() {
       console.log(common);
   },
}

三、组件模块系统的异步加载

**common.js**
import {defineAsyncComponent} from 'vue'
let A=defineAsyncComponent(()=>import("../components/comA"));
let B=defineAsyncComponent(()=>import("../components/comB"));
window.modules={
   'A':A,
   'B':B
}

**App.vue**
 <div id="App">
   <v-home></v-home>
 </div>
 
import {defineAsyncComponent} from 'vue';
export default {
 name: 'App',
 components:{
   'v-home':defineAsyncComponent(()=>import('./components/Home')),
 },
}

**Home.vue**
<div id="Home">
   Home
   <v-A></v-A>
</div>

//异步引入
import {defineAsyncComponent} from 'vue'
export default{
   name:"Home",
   components:{
       'v-A':defineAsyncComponent(()=>{
           return new Promise((resolve,reject)=>{
               console.log(window.modules);
               resolve(window.modules["A"]);
           });
       }),
   },
}

**main.js**
//执行
import './commonJS/common';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南初️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值