pnpm、工作区依赖以及还支持发布吗?

2023-12-24

我是 pnpm 工作区的新手,正在尝试解决以下问题。

我的演示项目:

  • root
    • packages
      • 通用用户界面
      • main-lib

common-ui 是一个基于 Vite 的包,包含一些可以被其他包重用的 Vue 组件,在我的示例中它由 main-lib 使用。

"dependencies": {
  "ui-common": "workspace:*"
},

common-ui 正在引用其 package.json 中的 index.ts

"main": "index.ts",

index.ts 正在导出我的 Vue 组件:

...
export { default as Heading } from './components/Heading/Heading.vue';
...

现在我可以在 main-lib 中导入这些组件:

import { Heading } from 'common-ui'

这一切都工作正常,但我也希望能够将我的库发布到 npm 注册表。由于 common-ui 使用的是 Vite,因此可以以库模式构建:https://vitejs.dev/guide/build.html#library-mode https://vitejs.dev/guide/build.html#library-mode。我的 common-ui 内的包需要更改为:

{
  "name": "common-ui",
  "files": ["dist"],
  "main": "./dist/common-ui.umd.js",
  "module": "./dist/common-ui.es.js",
  "exports": {
    ".": {
      "import": "./dist/common-ui.es.js",
      "require": "./dist/common-ui.umd.js"
    }
  }
} 

main 不再引用index.ts,而是一个仅在运行 vite 命令时更新的 dist 文件夹。有没有办法让我同时支持发布/版本控制和从 main-lib 内部引用实际源代码?

我快速浏览了 Rush.js,但我不确定是否提供了解决方案,我想在继续这条道路之前确定一下。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pnpm、工作区依赖以及还支持发布吗? 的相关文章

随机推荐

  • 循环数据提取所有以 .co.uk 结尾的电子邮件地址

    我试图通过应对以下挑战来提高我的编程 PHP 技能 接下来的问题并不是关于代码问题 也不是我要求代码问题 而是关于应该应用的编程逻辑 9 email protected cdn cgi l email protection 0 0 1 1
  • 远程访问HDFS

    我有hadoop服务器在某些服务器上运行 比如说IP 192 168 11 7 其 core site xml 如下
  • DataTable 服务器端仅在我有少量数据时才工作

    我正在从 json 加载传递到有关数据表表的服务器端处理 我有两种环境 一种用于测试 一种用于生产 它们具有相同的功能和数据库结构 当我在测试环境中测试新进程时 脚本加载数据没有任何问题 5行 相同的脚本不会在生产环境中加载数据 1200
  • 使用opencv读取带有type_id opencv-image的xml文件

    嘿 我在读取 type id opencv image 的 xml 文件时尝试了很多搜索 我在这里查找的只是 opencv matrix 所有可用的帮助对我来说都是无用的 请帮我从 xml 文件中读取图像矩阵 我将 xml 文件的上半部分粘
  • 如何循环这个CSS滑块动画?

    我正在尝试创建一个 css 滑块 到目前为止我只成功地让它正确迭代一次 有没有办法让它无限循环而不改变最终结果 div class slider div class slides div class slider 1 div div cla
  • 如何获取匹配源的JRE/JDK?

    我希望在我的 Windows 计算机上获得至少一个 JRE JDK 级别 其中我的 JRE JDK 源与 JRE JDK 的确切级别相匹配 我的目的是能够在调试时进入系统类 关于如何执行此操作有什么建议吗 提前致谢 大多数有用的源代码都位于
  • MongoDB查询,通过userID查找所有

    这是我的数据库中 客户 的结构 id oid xxxxx user oid xxxxx name Test Mobile email null phone xxxxx completed false v 0 我正在尝试查询具有特定 user
  • 如何使用 Moment 正确处理 Bing 中的“/Date(...-0700)/”日期格式?

    我正在使用 它以这种格式返回日期 Date 1538245980000 0700 它看起来像以毫秒为单位的 Unix 时间戳 后面跟着一个时区 此刻文档声称能够正确处理这些 https momentjs com docs parsing a
  • ReactJS 和 DRF:如何将 JWT 令牌存储在 HTTPonly cookie 中?

    目前 我的 Web 应用程序可以使用登录功能 在发出登录请求后 服务器会使用包含 2 个令牌的 JSON 对象进行响应 这是登录功能 async function login const data email email protected
  • 文本块不会更新

    我有一个TextBlock caloriesAvailableTextBlock 我正在尝试更新 这Button eatCaloriesButton 应该减少的数量TextBlock的约束为 100 但是 TextBlock不会更新 它仍然
  • AngularJS 窗口内宽尺寸更改事件

    我正在寻找一种方法来观察窗口内部宽度尺寸变化的变化 我尝试了以下方法但没有成功 scope watch window innerWidth function console log window innerWidth 有什么建议么 我们可以
  • Visual Studio致命错误LNK1120:

    只是我想使用 Visual Studio 2010 制作一个程序 当我构建时我有这个例外 我刚刚编写了空的主 C 程序 没有语法错误 我得到的是 1 gt LINK error LNK2001 unresolved external sym
  • 淘汰赛不同步手动设置选项的选定属性

    我正在使用这个 jQuery 插件来实现多选列表框http www quasipartikel at multiselect http www quasipartikel at multiselect 并且所有这些都使用 knockoutj
  • 在 Redis 中存储 numpy 数组的最快方法

    我在一个人工智能项目中使用 redis 这个想法是让多个环境模拟器在许多 CPU 核心上运行策略 模拟器将经验 状态 操作 奖励元组列表 写入 Redis 服务器 重播缓冲区 然后 训练过程将经验读取为数据集以生成新策略 新策略将部署到模拟
  • ASP.NET 默认文档

    我有default aspx和index html 我将两者都上传到服务器 但我希望我的第一页以index html 开头 我应该怎么办 如果您无权访问 IIS 并且托管在 IIS 7 Windows Server 2008 上 您可能需要
  • Puppeteer 屏幕截图缺少/不可见文本

    我正在使用 puppeteer 保存和下载由浏览器发送到 Express 应用程序的标记和 css 中的图像 Express 编译模板 只需将 POSTed 标记插入 html shell 并在本地获取 css 安装在 docker 卷上
  • 库/编程语言如何将浮点数转换为字符串

    这是我15岁时试图解开的一个谜 但我失败了 我还是不知道答案 这是一个幼稚且有缺陷的解决方案 就像我在 Stack Overflow 上看到的其他一些失败的尝试一样 const numberToString number gt let re
  • PHP字符串两种不同编码类型的比较

    我正在尝试将我知道的字符串与 php 中的网页标题进行匹配 我有以下字符串 奥比尼奥德 我的页面标题如下所示 奥比尼奥德 但如果我看一下 实际上是这样编码的
  • iPhone Store Kit 返回无效产品 ID 错误

    我正在尝试在 iPhone 上测试应用内购买 但遇到了一个问题 我请求信息的产品 ID 最终在 didRecieveResponse 方法中作为无效产品 ID 返回给我 I have 创建了与此应用程序关联的店内产品 它的包 ID 与其他所
  • pnpm、工作区依赖以及还支持发布吗?

    我是 pnpm 工作区的新手 正在尝试解决以下问题 我的演示项目 root packages 通用用户界面 main lib common ui 是一个基于 Vite 的包 包含一些可以被其他包重用的 Vue 组件 在我的示例中它由 mai