VUE3 使用资源路径加载
1.使用场景
有些情况下,我需要使用组件路径动态的方式加载组件。
2.实现方法
import { defineAsyncComponent } from 'vue';
/**
* 根据view组件路径异步加载组件.
* @param {String} view 组件路径 这个文件在views 下.
* @returns {*}
*/
AppUtil.loadComponent=function (view){
const modules = import.meta.glob('@/views/**/*.vue');
let path="/src/views/" +view;
return defineAsyncComponent( modules[path]);
}
我们可以看到上面的代码,他的作用传入一个组件的路径,通过 import.meta.glob 方法加载目录和组件的映射,我们可以看到虽然使用了通配符,但实际上这个方法执行起来并不慢。
这个我们可以看到这个方法变成下面这样

可以发现实际编译成了一个map对象
{path:()=>{}}
我们通过 传入的路径,得到异步得组件对象。
3.动态加载组件得例子
<template>
<div>
<component :is="view" ></component>
<a-button @click="loadView">loadView</a-button>
</div>
</template>
<script>
import component1 from "./component1.vue";
import AppUtil from "../../../assets/js/AppUtil";
export default {
name: "dynamicComponent",
components: {
"component1":component1
},
data() {
return {
view: "component1"
}
},
methods:{
loadView(){
let component = AppUtil.loadComponent('modules/demo/component2.vue') ;
this.view=component;
}
}
}
</script>
VUE3 使用资源路径加载的更多相关文章
- 在Unity3D的网络游戏中实现资源动态加载
用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕.应该优先加载用户附近的场景资源,在游 ...
- unity3d进行脚本资源打包加载
原地址:http://www.cnblogs.com/hisiqi/p/3204752.html 本文记录如何通过unity3d进行脚本资源打包加载 1.创建TestDll.cs文件 public c ...
- 关于cocos2d-x 与 cocos2d-html5 资源预加载的思考
移动端资源预加载,可以做到需要加载的时候,从本地磁盘加载到内存,当纹理不需要的时候,都是强制清理内存里的纹理占用: cc.TextureCache.getInstance().removeAllTex ...
- 在IIS上新发布的网站,样式与js资源文件加载不到(资源文件和网页同一个域名下)
在IIS上新发布的网站,网站能打开,但样式与js资源文件加载不到(资源文件和网页是同一个域名下,例如:网页www.xxx.com/index.aspx,图片www.xxx.com/pic.png). ...
- (转)在Unity3D的网络游戏中实现资源动态加载
原文:http://zijan.iteye.com/blog/911102 用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载.比如想加载一个大场景的资源,不应该在游戏的 ...
- Spring中资源的加载原来是这么一回事啊!
1. 简介 在JDK中 java.net.URL 适用于加载资源的类,但是 URL 的实现类都是访问网络资源的,并没有可以从类路径或者相对路径获取文件及 ServletContext , 虽然可以通过 ...
- 当Django设置DEBUG为False时,发现admin和html的静态资源文件加载失败的解决办法
当Django设置DEBUG为False时,发现admin和html的静态资源文件加载失败,折腾一段时间终于找到解决办法: 1.先在setting文件增加BASE_DIR(项目的路径) BASE_DI ...
- VC++ 使用WebBrowser控件中html文件以资源形式加载
. . . . //加载资源文件中的HTML,IDR_HTML1就是HTML文件在资源文件中的ID wchar_t self_path[MAX_PATH] = { }; GetModuleFileNa ...
- 资源预加载 Preload
当提到前端性能优化时,我们首先会联想到文件的合并.压缩,文件缓存和开启服务器端的 gzip 压缩等,这使得页面加载更快,用户可以尽快使用我们的 Web 应用来达到他们的目标. 资源预加载 是另一个性能 ...
- HTML5的页面资源预加载技术(Link prefetch)加速页面加载
不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉.有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites,使用图片优化工具,使用 ...
随机推荐
- ASP.NET Core – Work with X509
前言 这篇主要是说如何用 ASP.NET Core 读写系统里的证书 Store 和创建一个证书, 还有使用证书做加密, 解密, 签名. 主要参考: C#数字证书编程总结 (读写证书 Store) E ...
- 在Activity中测量控件宽高的三种方式
在进行Android开发时,有时需要测量控件的宽和高,常用的方式有以下三种: (1)重写onWindowFocusChanged(hasFocus: Boolean)方法,在这个方法内获取控件的宽高 ...
- Python计算傅里叶变换
技术背景 傅里叶变换在几乎所有计算相关领域都有可能被使用到,例如通信领域的滤波.材料领域的晶格倒易空间计算还有分子动力学中的倒易力场能量项等等.最简单的例子来说,计算周期性盒子的电势能\(k\sum_ ...
- 暑假集训CSP提高模拟1
A.Start 比较小的大模拟,还没改出来 B.mine 线性推一下(这个题记搜容易写偏,因为分讨太多) 设 \(f[i][j]\),第一维表示位置,第二位表示末位状态(是雷,是 \(0\),是 \( ...
- window和Linux下安装nvidia的apex
两种方法: 1.去github下下载apex,之后安装到你的python环境下,我的安装路径:E:\Anaconda\anaconda\envs\pytorch\Lib\site-packages 注 ...
- SpringBoot进阶教程(八十二)Spring Security图形验证码
在之前的博文<SpringBoot进阶教程(八十)Spring Security>中,已经介绍了在Spring Security中如何基于formLogin认证.基于HttpBasic认证 ...
- AI网关在应用集成中起到什么作用?
现在,国内外几乎每个SaaS服务商都找到办法把大型语言模型(LLM)集成到自己的产品里.印证了那句话"每款SaaS都值得用AI重做一遍"我们暂且不讨论是否值得用AI重做,但是增加A ...
- KubeSphere 社区双周报 | KubeSphere 多项更新 | 2023.06.23-07.06
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- 初探AI之got-ocr2.0大模型本地部署与遇到的各种坑处理
一.环境搭建 1.安装cuda,本人使用的是12.1版本,下载地址:https://developer.nvidia.com/cuda-12-1-1-download-archive 2.安装cond ...
- Stream流,集合与基本数组的相互转换
Arrays类的Api stream()方法传入数组,返回对应的stream流. Collection集合的Api: stream()不传参数,返回Stream流. 有了上述Api可以完成如下转换.. ...