考虑到您在 OP 中提到的目录方案,您可以通过本地路径添加库,如 NPM 文档中所述:本地路径:
- Root
|
-- Project One
|
-- Project Two
|
-- Library usued across both projects
例如在package.json
Project One中,您可以将库添加为依赖项:
"dependencies" : {
"my-shared-library" : "file:../Library usued across both projects",
}
PS我不确定库文件夹名称中是否允许空格,但您可以尝试找出它。但我假设你无论如何都不会使用空格。
替代解决方案和进一步计划
2)创建库并上传到npm并用作依赖项我不能采用这种方法,因为代码是专有的,不能在网络外共享。也没有本地公司 npm 注册表来使用公司 npm。
这并不完全准确。您确实可以将此方法作为替代解决方案,或者如果您认为将来可以在另一个项目中使用此库。如 NPM 文档中所述,有一种方法可以做到这一点:Git URLs as Dependencies。
包.json
"dependencies" : {
"my-shared-library" : "Git repo address here. There are various ways to specify an address. See below.",
}
如何将库添加为依赖项
"dependencies" : {
"my-shared-library" : "git+ssh://git@my-companys-treasure.com/my-shared-library.git",
}
这样您甚至可以使用不同版本的库。假设您4.2.0
为您的库开发了一个新版本(即 )Project One
并且尚未准备好或不应该由 使用,Project Two
您可以像这样添加它:package.json
Project One
"dependencies" : {
"my-shared-library" : "git+ssh://git@my-companys-treasure.com/my-shared-library.git#branch-v4.2.0",
}
branch-for-my-shared-library
或者,您可以在当前存储库中创建一个新分支,例如(假设项目一和项目二都被推送到同一个存储库):
"dependencies" : {
"my-shared-library" : "git+ssh://git@my-companys-treasure.com/my-current-project.git#branch-for-my-shared-library",
}
另请注意,您可以在 URL 中指定多种协议,如文档中所述:
协议是 git、git+ssh、git+http、git+https 或 git+file 之一。
进一步说明:
快乐编码。