注册表的依赖?"/>
如何在本地开发中具体使用NPM本地依赖,在生产中使用来自外部注册表的依赖?
我正在开发一套工具,这些工具都使用同一个库的代码。该库也是内部开发的。
当我发布一个工具时,我希望它使用NPM注册表(npmjs)中的一个特定版本的库,但当我在本地开发时,我希望它特别使用一个相对的本地包(即。../some_package
). 似乎我可以通过不同的环境变量和 scripts
在 package.json
但这似乎很迂回。
在这些工具中,重要的部分是这样的:
"dependencies": {
"@teaminkling/autolib": "^0.1.1"
},
...这是很好的,对生产来说是可行的。然而,为了在本地工作并仍然有版本控制,我需要这样做。
"dependencies": {
"@teaminkling/autolib": "file:../autolib"
},
我希望这个问题是重复的,因为我认为这是一个很常见的开发模式,但我找了一会儿也没找到。我也欢迎大家提出意见,告诉我有什么更好的方法来处理这种库-依赖管理。
谢谢你的帮助!我正在开发一套工具。
回答如下:运行 npm link
里面 autolib
源,然后运行 npm link @teaminkling/autolib
在任何你想使用开发版的包源中。您的 package.json
在生产过程中仍然应该参考真实的版本,但对于本地链接的软件包,它们将被忽略。
更多推荐
如何在本地开发中具体使用NPM本地依赖,在生产中使用来自外部注册表的依赖?
发布评论