在本地测试您自己的包的不同方法:Relative Deps
在本文中,我们将探索一种实用的解决方案,用于在本地测试您自己的包,而无需将它们发布到生产环境并冒任何潜在问题的风险。
通过利用 的强大功能relative-deps
,我们可以在开发过程中轻松地将我们的库与我们的项目链接起来,确保一切都能无缝运行,而不会影响生产环境。让我们深入了解这个有用的工具如何简化我们的测试过程并使我们的编码体验更加愉快。
这是一系列文章的一部分:
- 链接本地文件
- npm链接
- npm yalc
- 维尔达乔
- 相关部门
相关部门
官方描述说:从本地结帐安装依赖项并使它们保持同步,不受npm link
.
想象一下,你正在做一个很棒的项目,你需要检查你的库是否适用于你刚刚所做的新更改,但没有发布并将你的更改推送到产品。您不想在生产中进行测试,对吗?
我已经覆盖了你;相关部门来救援!
使用relative-deps
您可以在本地开发和测试项目时将您的库与项目的相对路径链接起来,确保您不会破坏产品中的东西。
该软件包使用起来非常简单,而且易于设置。让我们开始吧!
与之前的文章一样,我们有以下文件夹结构:
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>/my-awesome-project
/my-fancy-library
</code></span></span>
安装 relative-deps
在项目的根目录 ( my-awesome-project
) 中,您需要安装relative-deps
:
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>npx relative-deps init
</code></span></span>
运行此脚本将安装relative-deps
、添加prepare
脚本并初始化一个空relativeDependencies
部分。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-text-color)">{</span>
<span style="color:var(--syntax-text-color)">"name"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"my-awesome-project"</span><span style="color:var(--syntax-text-color)">,</span>
<span style="color:var(--syntax-text-color)">"scripts"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{</span>
...
<span style="color:var(--syntax-text-color)">"prepare"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"relative-deps"</span>
<span style="color:var(--syntax-text-color)">},</span>
<span style="color:var(--syntax-text-color)">"devDependencies"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{</span>
<span style="color:var(--syntax-text-color)">"relative-deps"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"^1.0.7"</span>
<span style="color:var(--syntax-text-color)">},</span>
<span style="color:var(--syntax-text-color)">"relativeDependencies"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{},</span>
<span style="color:var(--syntax-text-color)">}</span>
</code></span></span>
在您喜欢的库中更改某些内容后,您将使用该prepare
脚本。这将使用库中的最新更改更新项目。
将您的库添加为相对依赖项
现在,您需要将您的库添加为项目中的相对依赖项。您可以通过运行以下命令来执行此操作:
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>npx relative-deps add ../my-fancy-library
</code></span></span>
运行此命令后,您将看到该relativeDependencies
部分已更新为您的库路径。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-text-color)">{</span>
<span style="color:var(--syntax-text-color)">"name"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"my-awesome-project"</span><span style="color:var(--syntax-text-color)">,</span>
<span style="color:var(--syntax-text-color)">"scripts"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{</span>
...
<span style="color:var(--syntax-text-color)">"prepare"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"relative-deps"</span>
<span style="color:var(--syntax-text-color)">},</span>
<span style="color:var(--syntax-text-color)">"devDependencies"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{</span>
<span style="color:var(--syntax-text-color)">"relative-deps"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"^1.0.7"</span>
<span style="color:var(--syntax-text-color)">},</span>
<span style="color:var(--syntax-text-color)">"relativeDependencies"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{</span>
<span style="color:var(--syntax-text-color)">"@ks/my-fancy-library"</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">"../my-fancy-library"</span>
<span style="color:var(--syntax-text-color)">},</span>
<span style="color:var(--syntax-text-color)">}</span>
</code></span></span>
准备好了!?现在您可以开始在您的项目中使用您的库,就好像它是用您刚刚所做的最新更改发布的一样,而无需将其发布到产品。
更新你的图书馆
对库进行更改后,您需要使用最新更改更新项目。
为此,您需要build
在库中运行脚本,然后prepare
在项目中运行脚本。
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>npm run prepare
</code></span></span>
这将使用库中的最新更改更新您的项目。你见过它有多快吗?⚡️
删除你的依赖
relativeDependencies
如果你想从你的项目中删除你的库,只需删除在section 和 section 中创建的条目devDependencies
。prepare
也删除脚本,您就可以开始了。
总之,relative-deps
为本地包测试提供了一种简单高效的解决方案。通过允许我们使用相对路径将我们的库与我们的项目链接起来,它消除了发布和部署对生产的更改的需要。凭借其快速的更新过程,它被证明是可用的最佳替代品之一。拥抱relative-deps
可以极大地增强我们的开发工作流程,确保无缝集成并防止生产环境中的潜在问题。
试一试,体验它为您的包装测试工作带来的便利和速度。
?? 快乐编码!
还没有评论,来说两句吧...