考虑到您在原始帖中提到的目录情况,您可以按照 NPM 文档中提到的方法通过本地路径添加您的库:Local Paths。
- Root
|
-- Project One
|
-- Project Two
|
-- Library usued across both projects
例如,在“项目一”的
package.json
中,您可以将该库添加为依赖项:
"dependencies" : {
"my-shared-library" : "file:../Library usued across both projects",
}
P.S. 我不确定库文件夹名称是否允许使用空格,但你可以尝试并找出答案。但我假设你不会使用空格。
替代方案和进一步计划
- 创建库并上传到npm以便使用依赖项
我无法采取此方法,因为代码是专有的,不能在网络之外共享。而且没有本地公司 npm 注册表可供使用。
这并不完全准确。您确实可以采用此方法作为替代方案或者如果您认为将来可能在另一个项目中使用此库。正如 NPM 文档中所述,有一种方法可以实现: Git URLs as Dependencies。
package.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",
}
这样您甚至可以使用不同版本的库。比如您为Project One
开发了一个新版本(即4.2.0
),但它还没有准备好或不应该被Project Two
使用,您可以在Project One
的package.json
文件中像这样添加:
"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之一。
进一步说明:
编码愉快。