news 2026/9/13 21:47:42

Element Plus 开发调试时如何用 pnpm link 链接本地构建的依赖?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Element Plus 开发调试时如何用 pnpm link 链接本地构建的依赖?

Element Plus 开发调试时如何用 pnpm link 链接本地构建的依赖?

【免费下载链接】element-plus🎉 A Vue.js 3 UI Library made by Element team项目地址: https://gitcode.com/GitHub_Trending/el/element-plus

如果你正在本地开发 Element Plus 源码仓库(修改组件、修 bug、补充功能),并希望自己的业务项目直接引用本地构建出来的 Element Plus,而不是 npm 上发布的版本,官方开发 FAQ(dev-faq 的 “Link local dependencies” 一节)给出的标准做法是:先在 Element Plus 仓库里执行pnpm build生成 dist 产物,把该产物注册到 pnpm 的全局node_modules,最后在你的目标项目里用pnpm link --global element-plus完成链接。整条路径要求你的环境由 pnpm 管理,命令按 FAQ 给出的顺序执行。

准备条件

按 CONTRIBUTING.md 的 Prerequisites 一节,本地开发 Element Plus 需要:

  • Node.js >= 22.13.0(仓库说明部分编译产物依赖 Node.js >= 22.13.0 的特性,所以需要该版本或更新版本);
  • pnpm >= 11(根目录 package.json 中声明了"packageManager": "pnpm@11.24.0",engines 要求node >= 22.13.0);
  • Git > 2.20。

Element Plus 仓库是 pnpm workspace monorepo(见 AGENTS.md)。在 Element Plus 仓库根目录安装依赖:

pnpm install

构建本地包

pnpm build

CONTRIBUTING.md 说明这条命令会编译将要发布到 npm 的代码。构建产物输出到仓库根目录的dist/dist是生成的输出目录,AGENTS.md 明确提示不要手工编辑其中文件)。FAQ 的下一步就是要进入dist/element-plus,所以构建必须成功完成后才能继续。

把本地构建注册到全局 node_modules

在 Element Plus 仓库根目录下依次执行:

cd dist/element-plus # set cur element-plus to global `node_modules` pnpm link --global # for esm we also need link element-plus for dist pnpm link --global element-plus
  • 第一条pnpm link --global把当前这个 element-plus 构建目录注册到 pnpm 的全局node_modules
  • 第二条pnpm link --global element-plus是 FAQ 针对 ESM 场景额外要求的一步,把 dist 内部的element-plus包名一并链接。

命令注释直接来自官方 FAQ 原文,保留以说明每一步的作用。

在目标项目中链接 element-plus

回到你自己的、依赖element-plus的项目目录(下面用your-project指代,替换为你项目的实际路径):

cd your-project pnpm link --global element-plus

这一步让目标项目把element-plus解析到刚才注册的全局链接,也就是你本地的构建产物。FAQ 同时提示,pnpm link的更多用法见 pnpm 官方文档的 link 命令说明。

验证与排查

  • 上述每条命令都应无报错地完成。如果目标项目里的pnpm link --global element-plus执行失败,先回到 Element Plus 仓库核对 FAQ 中步骤是否已按顺序执行过:pnpm buildcd dist/element-plus、两条pnpm link --global
  • 链接指向的是本地dist/element-plus目录,它由源码构建而来。修改本地源码后,需要重新执行pnpm build刷新产物,目标项目才能用到新的构建结果;不要手工改动dist里的文件。
  • 开发 Element Plus 仓库时如果遇到依赖相关问题,官方 FAQ 给出的处理方式是(仅在 Element Plus 仓库根目录执行):
rm -rf node_modules pnpm i

这里rm -rf node_modules会删除 Element Plus 仓库自身的依赖目录并随后重新安装,只影响该仓库,不会改动你链接目标项目的内容;执行前请确认当前目录是 Element Plus 仓库根目录。

相关资料

  • docs/en-US/guide/dev-faq.md:Link local dependencies 与依赖问题处理原文
  • CONTRIBUTING.md:环境要求与pnpm install/pnpm build说明
  • AGENTS.md:仓库结构与常用命令(含dist输出目录约定)
  • package.json:packageManager、engines 与 build 脚本定义

【免费下载链接】element-plus🎉 A Vue.js 3 UI Library made by Element team项目地址: https://gitcode.com/GitHub_Trending/el/element-plus

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 21:45:56

Transformer 与大语言模型:第4章 Transformer Block

第4章 Transformer Block 本章目标: 理解一个完整的 Transformer Block 的结构,以及 Tensor 的 Shape 是如何在其中变化的。 本章目录 4.1 一个 Block 的全貌 4.2 Block 的四个组件 4.3 为什么这样排列? 4.4 Pre-Norm vs Post-Norm 4.5 Tensor Shape 的完整流程(Pre-Norm)…

作者头像 李华
网站建设 2026/9/13 21:45:00

提示词工程实战:10个提升大模型输出质量的技巧与模板

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 21:44:49

Markdown工程化实践:渲染一致性、PDF保真与跨平台工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 21:35:16

Windows 隐藏导航窗格【主文件夹】、【图库】、【OneDrive】

目录Win11隐藏导航窗格【主文件夹】、【图库】CLSID对照表完整一键 reg(全部隐藏:主文件夹图库OneDrive)恢复显示全部的reg生效操作手动一步步操作(不用reg文件)Win11隐藏导航窗格【主文件夹】、【图库】 ⚠️注意&…

作者头像 李华