当前位置: 首页 > news >正文

前端项目如何同时导入一个库的不同版本

想要在一个项目中同时存在两个版本的库,目前方法有两种

1. 采用别名导入库(仅为示例,实际只实验了echarts可行)

// package.json{//...."scripts": {// ...},"dependencies": {"@antv/x6": "^2.18.1", // 正常包"@antv/x6-custom": "npm:@antv/x6@1.30.1", // 不同版本的包(采用别名)},// ....
}

问题:对于部分不存在互相依赖的库有用,

规避问题:对所有版本都采用别名(可能有用)

2. 采用workspaces导入不同包(所有包可用)

2.1 定义workspaces,(根目录操作)

// package.json(根目录)
{"name": "xxxx","version": "0.0.0","private": true,"type": "module","scripts": {},"dependencies": {"x6-new": "workspace:*", // 版本1 固定写法"x6-old": "workspace:*", // 版本2 固定写法},"devDependencies": {},"workspaces": [ // 自定义工作区"packages/*"]
}

 2.2 pnpm-workspace.yaml 若没有则自己新建(根目录操作)

// pnpm-workspace.yamlpackages:- 'packages/*'

 2.3 新建工作区目录结构 其中示例 x6-new x6-old分别为两个不同的工作区 需要分别对工作区执行pnpm init   

x6-new/package.json

说明:进入到工作区执行 pnpm init生成工作区的package.json

main: "index.js"指定的是入口文件。将来依赖注入时冲这里查找导出项目

 index.js 工作区导出的函数/方法(外部可以引入使用)

最后  项目的node_moudles 和工作区的node_modules只需要在根目录执行一次即可

如何使用自定义工作区(当成一个本地包使用即可)

http://www.dtcms.com/a/307677.html

相关文章:

  • SpringMVC的核心架构与请求处理流程
  • React中的this绑定
  • 网关 + MDC 过滤器方案,5分钟集成 日志 traceid
  • Java学习-----SpringBoot的常用注解(下)
  • 嵌入式硬件中瓷片电容的基本原理与详解
  • WebRTC 多媒体 SDP 示例与解析
  • 嵌入式硬件学习(十)—— LED驱动+杂项设备驱动
  • 2025电商CPS分销与推客系统小程序开发:趋势、架构与实战解析
  • SpringBoot3.x引入Quartz,持久化到MySQL数据库
  • npm 设置国内镜像源
  • 中宇联:以“智云融合+AI”赋能全栈云MSP服务,深化阿里云生态合作
  • 【YOLOv1】
  • 多云场景实战:华为手机 QR 码绑定与 AWS云服务器终端登录全解
  • 全球SPAD技术发展全景:工艺节点、产能布局与中国突破
  • 科研快报 |无人机+AI:广东防控基孔热背后的技术革命
  • 无人机传感器系统架构解析
  • 了解SQL
  • HttpServletRequest详细解释
  • HttpServletRequest 和 HttpServletResponse核心接口区别
  • UDP_千兆光通信(四)Tri Mode Ethernet MAC ip核
  • 力扣 hot100 Day61
  • Mockito:Java单元测试Mock框架
  • Mac 系统下安装 nvm
  • 工业园区泵房物联网能耗优化解决方案:打造绿色低碳厂区
  • 组播 | 不同 VLAN 间数据转发实现逻辑 / 实验
  • 深入解读OpenTelemetry分布式链路追踪:原理与实践指南
  • tlias智能学习辅助系统--SpringAOP-基础-核心概念
  • Cesium 快速入门(一)快速搭建项目
  • 防火墙安全实验
  • 10. NAT,代理服务,内网穿透