如何在链接的 npm 依赖项(开发中)和已安装的依赖项(暂存/生产中)之间切换?

2023-11-24

我正在开发一个自定义 npm 模块,并且它有一个 GitHub 存储库。我还在开发一个使用自定义模块的项目。当处理较大的项目时,使用它是很好的npm link这样我就可以对模块进行更改并立即在主项目中看到它们。

To deploy to staging or production, I use shrinkwrap and shrinkpack so I can do an npm install after every deploy (some of the dependencies need binaries, and dev systems aren't the same as production systems, so they do need to be installed and not just kept in source control). Edit: I'm crossing this out as the answer below technically solves my issue, even though it doesn't solve for this particular point, but that wasn't as important as the rest of it.

当然,由于该模块链接到我的主项目并且未在中列出package.json,部署和安装完全错过了它。我可以继续将其列出package.json并让它指向适当的 GitHub 存储库,但是每次我需要在主项目中测试更改时,我都必须提交并推送这些更改,然后更新主项目,终止并重新启动应用程序...这将很快就会感到厌倦。

我想我需要类似于“devDependency”的相反内容;我能得到的东西not在 dev 上安装模块,但是do执行时从 GitHub 安装它npm install上演或制作。除了记得手动更改之外package.json每次我需要来回时,有没有更好的方法来做到这一点?


您可以在 package.json 文件中指定 github 存储库作为要安装的包:

{
  dependencies: {
    "my-library": "githubusername/my-library"
  }
}

这将在您的生产环境中起作用。

在您的开发环境中,使用“npm link”。

从“my-library”文件夹中运行npm link直接地。这将告诉本地机器上的 npm “my-library”可以作为链接使用。

现在,在使用“my-library”的项目中,运行npm link my-library。这将创建一个指向“my-library”本地开发版本的符号链接,允许您更改该存储库中的代码并使其在需要它的其他项目中工作。

一旦您准备好推送到生产环境,请将“my-library”推送到您的 github 存储库,然后您可以像平常一样在服务器上进行 npm install。

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

如何在链接的 npm 依赖项(开发中)和已安装的依赖项(暂存/生产中)之间切换? 的相关文章

随机推荐

  • ruby 中将二进制数据转换为字符串

    我有一个包含字节数据的字符串 如何执行到 ascii 字符串的就地转换 处理二进制数据的另一种方法是字符串 unpack
  • Python 中的新运算符

    我们可以定义Python的内在运算符 如下所示here 只是出于好奇 我们可以定义新的运算符吗 or 如果是这样 那么我们可以定义三元条件运算符或旋转运算符 正如 minitech 所说 你无法定义新的运算符 但是检查一下这个允许你定义中缀
  • 使Windows刷新图标缓存

    我真的很喜欢 KDE SC 4 的氧气外观 我编写了一个程序将这些图标应用到 Windows 该程序是用 NSIS 编写的 目前几乎功能齐全 但是 我发现让 Windows 意识到图标更改的唯一方法是终止 explorer exe 删除图标
  • Azure Functions ARM 模板重新部署会删除我发布的函数

    我有一个由 ARM 模板使用 Azure DevOps 管道部署的 Azure Functions 2 0 实例 我有另一个管道 通过 zip 部署将函数应用程序部署到实例 这几乎完美地工作 但是 如果我将功能基础设施部署为代码 然后部署应
  • 苹果应用内购买

    在设备上的沙盒环境中测试应用内购买时 我记录了以下错误 错误域 SKErrorDomain代码 0 无法连接到iTunes Store UserInfo 0x2916a0 NSLocalizedDescription 无法连接到iTunes
  • 如何使用 Webpack 导出函数并在 HTML 页面中使用它?

    我有一个名为index js use strict var require jquery window jQuery export function foo console log hello world 并且在同一个目录下 webpack
  • 如何摆脱Django Form的RadioSelect生成的虚假选择

    我在 Django 1 3 上使用 ModelForm 模型 py class UserProfile models Model gender models CharField max length 1 blank True choices
  • 如何对数据集进行排序?

    我有包含表项目的数据集 如何按代码字段对该表进行排序 提前致谢 With DataTable 你通常会排序一个DataView 例如 DataTable table dataSet Tables foo DataView view tabl
  • 突出显示文本,html 标签除外

    我使用下面的代码突出显示文本中的一些关键字 message str ireplace words span class hightlighted text words span message 文本可能包含一些html标签 例如 img s
  • 我可以将 MSVCRT 与 mingw 静态链接吗?

    我有编译用的 C 程序mingw在 Windows 上 它工作正常但需要MSVCRT DLL 我想静态链接它 就像我在 Visual Studio 中可以做的那样 这可能吗 I tried static标记为gcc它没有做出任何改变 也使用
  • Android - AlertDialog 样式

    我的应用程序中有一个警报对话框 如下所示 我希望标题和分隔标题 消息正文的线为橙色 我怎样才能做到这一点 我尝试的是使用自定义样式 如下所示 但这没有用 我的警报对话框代码 AlertDialog Builder alertDialog n
  • pymc3:具有多个观察变量的分层模型

    我有一个简单的分层模型 其中有很多个体 我有来自正态分布的小样本 这些分布的均值也遵循正态分布 import numpy as np n individuals 200 points per individual 10 means np r
  • 将 bytea 转换为二进制字符串

    我需要解码一个 Base64 字符串并获取一块二进制文件 Postgres中是否有一个SQL函数可以简单地转换bytea转换为二进制字符串表示形式 Like 00010001010101010 如果您的 Postgres 安装使用默认设置运
  • 如何选择具有给定类名的第一个、第二个或第三个元素?

    如何在元素列表中选择某个元素 我有以下内容 div class myclass my text1 div div p stuff p div div p more stuff p div p span Hello World span p
  • PHP GD如何在一条线上绘制文本

    The final output should be like image HELLO WORLD 这就是我正在做的 im imagecreate 400 400 txtcol imagecolorallocate im 0xFF 0x00
  • Android 打开外部存储目录(sdcard)用于存储文件

    我想打开外部存储目录路径以编程方式保存文件 我尝试过但没有获取 SD 卡路径 我该怎么办 有什么解决办法吗 private File path new File Environment getExternalStoragePublicDir
  • 延长课程是一个好的做法吗?

    我的数据库类中有一个 PDO 连接 最近我一直使用它作为其他类的扩展 即class Users extends Database这使我能够始终保持数据库连接 而无需在我的 Users 类中拥有函数 然而 有人指出我不应该这样做 因为这是一种
  • 分号有什么作用?

    我在网上找到了一个函数来帮助我完成当前的项目 并且它的某些行上有分号 我想知道为什么 是为了破坏功能吗 def containsAny self strings alphabet abcdefghijklmnopqrstuvwxyz0123
  • JQuery/JQuery UI 水平分隔线

    最近 我正在开发一个网站 我想创建一个水平分隔线 能够使用 jquery 调整页面上两个元素的大小 基本上 Content 您还可以查看UI Layout jQuery 插件 这是一个demo
  • 如何在链接的 npm 依赖项(开发中)和已安装的依赖项(暂存/生产中)之间切换?

    我正在开发一个自定义 npm 模块 并且它有一个 GitHub 存储库 我还在开发一个使用自定义模块的项目 当处理较大的项目时 使用它是很好的npm link这样我就可以对模块进行更改并立即在主项目中看到它们 To deploy to st