百度amis vue3引入减少包提体积

不用amis的包 , 在index.html引入代码如下,要在main上面

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" href="/favicon.ico" media="print"/><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title></title><link rel="stylesheet" href="https://unpkg.com/amis@6.5.0/sdk/helper.css" /><linkrel="stylesheet"title="default"href="https://unpkg.com/amis@6.5.0/sdk/sdk.css"/><!-- <linkrel="stylesheet"href="https://unpkg.com/amis@6.5.0/sdk/iconfont.css"/> --><script src="https://unpkg.com/amis@6.5.0/sdk/sdk.js"></script></head><body><div id="app"><div class="app-loading"><div class="app-loading-wrap"><div class="app-loading-title"><!-- <img src="/logo.gif" class="app-loading-logo" alt="Logo" /> --><div class="app-loading-title"></div></div><div class="app-loading-item"><div class="app-loading-outter"></div><div class="app-loading-inner"></div></div></div></div></div><script type="module" src="/src/main.ts"></script></body>
</html>

然后别的设置 index.tsx页面

import { defineComponent, toRefs, reactive, watch, ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import { getAccessToken } from '@/utils/auth'
import WebStorageCache from 'web-storage-cache'
import { CACHE_KEY ,useCache} from '@/hooks/web/useCache'
import { ElNotification } from 'element-plus'import axios from 'axios'
import qs from 'qs'
import download from '@/utils/download'
// import 'amis/sdk/sdk.js'
// import 'amis/sdk/rest.js'
// import 'amis/sdk/tinymce.js'
// import 'amis/sdk/pdf-viewer.js'// import 'amis/sdk/sdk.css'
// import 'amis/lib/helper.css'
// import 'amis-ui/lib/themes/antd.css'
// import 'amis/sdk/iconfont.css'
// import 'amis/sdk/helper.css'// import '@fortawesome/fontawesome-free/css/all.css'
// import '@fortawesome/fontawesome-free/js/all'
// import 'amis/lib/themes/default.css'// import 'amis-ui/lib/themes/cxd.css'
import { service } from "@/config/axios/fecher";import './index.scss'const props = {schema: {type: Object,value: () => { },},env: {type: Object,default: () => ({}),},
}
export default defineComponent({props,emits: ['ready'],setup(props, ctx) {const router = useRouter()const common = reactive({})const { wsCache } = useCache()const user = wsCache.get(CACHE_KEY.USER)const userInfo = wsCache.get(CACHE_KEY.USERINFO)console.log(user)const renderBox = ref('renderBox')const location = () => {const current = router.currentRoute.valuereturn {pathname: current.path,hash: current.hash,query: current.query,search: `?${qs.stringify(current.query)}`,}}const hanldeNext = () => {// window.open('#/editor', '_blank')}watch(() => props.schema,() => {})const getList = () => {// @ts-ignoreconst scoped = amisRequire('amis/embed')// @ts-ignoreconst { normalizeLink } = amisRequire('amis')console.log(user)const instance = scoped.embed(renderBox.value,props.schema,{// 这里是初始 props,一般不用传。// locale: 'en-US' // props 中可以设置语言,默认是中文// theme: 'ant'data: {permissions: user.permissions,front_user:user,user_Info:userInfo}},{// 下面三个接口必须实现fetcher: service,//  fetcher: async ({//   url, // 接口地址//   method, // 请求方法 get、post、put、delete//   data, // 请求数据//   responseType,//   config, // 其他配置//   headers // 请求头// }: any) => {//   config = config || {};//   config.withCredentials = true;//   responseType && (config.responseType = responseType);//   if (config.cancelExecutor) {//     config.cancelToken = new (axios as any).CancelToken(//       config.cancelExecutor//     );//   }//   if(config.responseType){}//   config.headers = {...headers,Authorization:'Bearer ' + getAccessToken() } || {};//   if(url.includes('export')){//     const res = await axios({//       url,//       method,//       data,//       responseType:'blob',//       headers:{//         Authorization:'Bearer ' + getAccessToken() //       }//     })//     download.excel(res.data, '字典数据.xls')//      return {//       status:0,//       code:200,//       msg: '123',//       data: res.data || {}, // data不可以为null,否则amis会报错:没有response Data//     }//   }//   if (method !== 'post' && method !== 'put' && method !== 'patch') {//     if (data) {//       config.params = data;//     }//     return (axios as any)[method](url, config);//   } else if (data && data instanceof FormData) {//     config.headers = config.headers || {};//     config.headers['Content-Type'] = 'multipart/form-data';//   } else if (//     data &&//     typeof data !== 'string' &&//     !(data instanceof Blob) &&//     !(data instanceof ArrayBuffer)//   ) {//     data = JSON.stringify(data);//     config.headers = config.headers || {};//     config.headers['Content-Type'] = 'application/json';//   }//   const res = await (axios as any)[method](url, data, config)//   if(res.data.code !== 0){//     ElNotification.error(res.data.msg)//   }else{//     ElNotification.success('操作成功')//   }//   return res// },isCancel: (value: any) => (service as any).isCancel(value),// requestAdaptor(api) {//   return {//     ...api,//     headers: {//       Authorization:'Bearer ' + getAccessToken() //     }//   };// },// responseAdaptor(api, payload, query, request, response) {//  console.log(api, payload, query, request, response)//   return payload;// },theme: 'cxd',// 覆盖 amis env// 参考 https://aisuda.bce.baidu.com/amis/zh-CN/docs/start/getting-started#sdk...props.env,},() => {// ctx.emit('ready', {//   instance,// })})}onMounted(() => {getList()})return {...toRefs(common),hanldeNext,props,renderBox,}},render() {const styles =  {// padding:'15px'}return <div ref="renderBox"   id="renderBox" style={styles}></div>},
})

以前用npm包确实加载缓慢,现在基本0延迟加载了,就是二拓可能不简单,之后在写文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【贪心 堆 优先队列】502. IPO

本文涉及知识点 贪心 堆 优先队列 LeetCode502. IPO 假设 力扣&#xff08;LeetCode&#xff09;即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司&#xff0c;力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限&#xff0c;它只能在 IPO 之前完成最多 k…

ORB-SLAM3源码分析(案例分析)

一、ORB-SLAM3简介 ORB-SLAM3 (Oriented FAST and Rotated BRIEF SLAM 3) 是一种视觉SLAM&#xff08;Simultaneous Localization and Mapping&#xff0c;同时定位与地图构建&#xff09;系统&#xff0c;用于机器人和计算机视觉领域。它是ORB-SLAM系列的第三个版本&#xff…

非参数检测2——定义

定义&#xff1a;若研究二判定问题&#xff08;即判断有无信号&#xff09;的检测问题&#xff0c; 检测器的虚警概率可以由对输入数据统计特性提出微弱假设确定假设中不包含输入噪声的统计特性 则称该检测器为非参数检测器。 设计目标 在未知或时变环境下&#xff0c;有最…

【自动驾驶仿真在做什么——初学者总结(陆续补充)】

文章目录 基础概念自动驾驶级别再稍提一下ODD是什么&#xff1f; 自动驾驶仿真分类软件在环仿真硬件仿真 仿真究竟难在哪&#xff1f;关于lidar和radar区别一些名词解释 最近也是学习自动驾驶仿真相关知识&#xff0c;习惯去总结一下&#xff0c;方便自己回顾和总结&#xff0c…

响应式ref()和reactive()

文章目录 ref()reactive()ref对比reactivetoRefs与toRef ref() 作用&#xff1a;定义响应式变量。 语法&#xff1a;let xxxref(初始值)。 返回值&#xff1a;一个RefImpl的实例对象&#xff0c;简称ref对象或ref&#xff0c;ref对象的value属性是响应式的 注意点&#xff1…

【多媒体】富客户端应用程序GUI框架 JavaFX 2.0 简介

JavaFX 最初是由 Oracle 推出的一个用于开发富客户端应用程序的框架&#xff0c;它提供了丰富的用户界面控件、布局容器、3D图形绘制、媒体播放和动画等功能&#xff0c;旨在取代较旧的 Swing 框架。JavaFX 于 2007 年推出&#xff0c;2011 年 10 月发布了2.0 版本。JavaFX 2.0…

进度记录工具

说明 对过程进度进行记录&#xff0c;采用“进度管理器进度处理器进度记录器”结构、对象池技术和单例等设计&#xff0c;计时器间隔动态更新&#xff0c;时间间隔预测算法采用单指数平滑预测&#xff08;有数据清洗&#xff09;。一个进度管理器管理多个进度处理器&#xff0c…

强强联合 | 人大金仓携手中国一汽引领国产数据库行业新浪潮

在国产化政策的推动下&#xff0c;人大金仓携手中国一汽联合开发更贴近汽车产业特定需求的数据库功能和组件。从2023年2月至今&#xff0c;人大金仓已累计部署690套数据库&#xff0c;适配应用系统170个&#xff0c;支撑中国一汽20多个核心系统和重要系统。目前&#xff0c;中国…

Eureka服务实例的健康检查机制:确保微服务架构的稳定性

引言 在微服务架构中&#xff0c;服务实例的健康状态对于整个系统的稳定性至关重要。Eureka作为Netflix开源的服务发现框架&#xff0c;提供了一套机制来对服务实例进行健康检查。本文将详细探讨Eureka中的服务实例健康检查机制&#xff0c;包括其工作原理、实现方式以及如何配…

Okhttp hostnameVerifier详解

hostnameVerifier 方法简介核心原理参考资料 方法简介 本篇博文以Okhttp 4.6.0来解析hostnameVerfier的作用&#xff0c;顾名思义&#xff0c;该方法的主要作用就是鉴定hostnname的合法性。Okhttp在初始化的时候我们可以自己配置hostnameVerfier&#xff1a; new OkHttpClien…

计算机网络——数据链路层(以太网)

目录 局域网的数据链路层 局域网可按照网络拓扑分类 局域网与共享信道 以太网的两个主要标准 适配器与mac地址 适配器的组成与运作 MAC地址 MAC地址的详细介绍 局域网的mac地址格式 mac地址的发送顺序 单播、多播&#xff0c;广播mac地址 mac帧 如何取用…

YOLOX算法实现血细胞检测

原文:YOLOX算法实现血细胞检测 - 知乎 (zhihu.com) 目标检测一直是计算机视觉中比较热门的研究领域。本文将使用一个非常酷且有用的数据集来实现YOLOX算法,这些数据集具有潜在的真实应用场景。 问题陈述 数据来源于医疗相关数据集,目的是解决血细胞检测问题。任务是通过显微…

Linux基础指令及mysql(DQL)

[rootcentos ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/export/server/jdk/bin:/root/binls在/usr/bin/路径下 [rootcentos ~]# which ls alias lsls --colorauto/usr/bin/lschmod ux,gx,o-r work.txt 可以对文件的权限进行修改。 sudo chown 修…

摒弃传统分页:移动端开发中的无限滚动实现

在移动端开发过程中&#xff0c;数据加载方式的选择对于用户体验至关重要。传统的分页方式虽然在桌面端应用中较为普遍&#xff0c;但在移动端环境下却存在诸多性能和体验上的问题。尤其在数据量较大的情况下&#xff0c;传统分页方式计算总页数时需要进行计数操作&#xff08;…

Python从入门到放弃——整数类型变量

变量 前言 上一篇文章中我们学习了Print函数&#xff0c;并且深入的理解了Print函数的各个参数。明确了应该如何利用各种参数来实现我们想输出的效果。那么现在让我们来学习一下变量这一个知识点。 什么是变量 变量&#xff0c;作为编程中的核心概念之一&#xff0c;其重要性…

Laravel事件与监听器:响应式编程的艺术

标题&#xff1a;Laravel事件与监听器&#xff1a;响应式编程的艺术 Laravel框架以其优雅的响应式编程模型而闻名&#xff0c;事件&#xff08;Event&#xff09;和监听器&#xff08;Listener&#xff09;是这一模型的核心组成部分。事件是一种在应用程序中触发的信号&#x…

STM32和DHT11使用显示温湿度度(代码理解)+单总线协议

基于STM32CT&#xff0c;利用DHT11采集温湿度数据&#xff0c;在OLED上显示。一定要阅读DHT11数据手册。 1、 DHT11温湿度传感器 引脚说明 1、VDD 供电3.3&#xff5e;5.5V DC 2、DATA 串行数据&#xff0c;单总线 3、NC 空脚 4、GND 接地&#xff0c;电源负极 硬件电路 微…

docker部署kafka(单节点) + Springboot集成kafka

环境&#xff1a; 操作系统&#xff1a;win10 Docker&#xff1a;Docker Desktop 4.21.1 (114176)、Docker Engine v24.0.2 SpringBoot&#xff1a;2.7.15 步骤1&#xff1a;创建网络&#xff1a; docker network create --subnet172.18.0.0/16 net-kafka 步骤2&#xff1a;安…

秋招突击——7/4——复习{}——新作{最长公共子序列、编辑距离、买股票最佳时机、跳跃游戏}

文章目录 引言复习新作1143-最长公共子序列个人实现 参考实现编辑距离个人实现参考实现 贪心——买股票的最佳时机个人实现参考实现 贪心——55-跳跃游戏个人实现参考做法 总结 引言 昨天主要是面试&#xff0c;然后剩下的时间都是用来对面试中不会的东西进行查漏补缺&#xff…

Spring:Spring框架的发展历程与学习指南

一、引言 在Java企业级应用开发的世界中&#xff0c;Spring框架无疑是一颗耀眼的明星。它不仅极大地简化了开发过程&#xff0c;还为软件工程师提供了一种高效、可扩展的解决方案。本文将简要回顾Spring框架的发展史&#xff0c;并为初学者提供学习Spring基础的指导。 二、Spr…