Javascript NestJS共享库

Javascript NestJS共享库,javascript,node.js,typescript,nestjs,Javascript,Node.js,Typescript,Nestjs,如何共享图书馆?我正在创建一个microservices应用程序,目前的结构是: 这是我第一次使用,如果有更好的方法的话,我真的可以利用我所需要的帮助来构建我的。目前,我的库的作用域是主应用程序,但我希望共享它们,谢谢。您可以使用一个链接到第二个应用程序文件夹中的主应用程序文件夹,并且只保留主应用程序中的文件夹,它应该会像一个符咒一样工作 您也可以使用环境变量在文件夹位置设置它,但我不建议您这样做,因为重新启动时,您将丢失该变量,只需在终端中运行以下命令: $ export NODE_PATH

如何共享图书馆?我正在创建一个microservices应用程序,目前的结构是:

这是我第一次使用,如果有更好的方法的话,我真的可以利用我所需要的帮助来构建我的。目前,我的库的作用域是主应用程序,但我希望共享它们,谢谢。

您可以使用一个链接到第二个应用程序文件夹中的主应用程序文件夹,并且只保留主应用程序中的文件夹,它应该会像一个符咒一样工作

您也可以使用环境变量在文件夹位置设置它,但我不建议您这样做,因为重新启动时,您将丢失该变量,只需在终端中运行以下命令:

$ export NODE_PATH='yourdir'/node_modules
另一种选择是使用Thread作为软件包管理器,因为它支持更改库位置。您可以创建.yarnrc文件并放置以下内容:

# ./.yarnrc
--modules-folder web/vendor
你可以在第二个应用文件夹中的主应用文件夹中使用一个文件夹,并且只保留主应用中的文件夹,它应该像一个符咒一样工作

您也可以使用环境变量在文件夹位置设置它,但我不建议您这样做,因为重新启动时,您将丢失该变量,只需在终端中运行以下命令:

$ export NODE_PATH='yourdir'/node_modules
另一种选择是使用Thread作为软件包管理器,因为它支持更改库位置。您可以创建.yarnrc文件并放置以下内容:

# ./.yarnrc
--modules-folder web/vendor

您可以从文件夹中安装软件包


npm i服务/访问请求

您可以从文件夹中安装软件包


<代码> NPM I Service / Access请求

> P>您可以考虑使用MyRePoO结构,引用如下:

monorepo模式:该模式将代码工件视为轻量级monorepo的一部分,可能更适合开发团队和/或多项目环境。它自动化了构建过程的一部分,使创建和组合模块化组件变得容易,促进了代码重用,使集成测试变得更容易,使共享项目范围的工件变得容易


你可以考虑使用MMOREPO结构,引用:

monorepo模式:该模式将代码工件视为轻量级monorepo的一部分,可能更适合开发团队和/或多项目环境。它自动化了构建过程的一部分,使创建和组合模块化组件变得容易,促进了代码重用,使集成测试变得更容易,使共享项目范围的工件变得容易


“共享库”是什么意思?意思是您希望具有可在多个嵌套项目中使用的特定于嵌套的功能?@nerdybeast是的,完全正确,这样,当我为特定功能创建库时,我将能够在不同的项目中使用该库。如果y结构不够有效,我愿意重新构造我的应用程序,请注意,您是Nesty的新手。在这种情况下,我绝对不会将“访问请求”作为项目中的嵌套文件夹。当项目嵌套了
package.json
文件和
node\u模块
时,就会发生各种各样的麻烦事。您需要发出
访问请求
它是您自己的专用npm包,您可以将其安装到当前项目(或任何其他项目)中。我建议使用npm范围的包来实现这一点。你说的“共享库”是什么意思?意思是您希望具有可在多个嵌套项目中使用的特定于嵌套的功能?@nerdybeast是的,完全正确,这样,当我为特定功能创建库时,我将能够在不同的项目中使用该库。如果y结构不够有效,我愿意重新构造我的应用程序,请注意,您是Nesty的新手。在这种情况下,我绝对不会将“访问请求”作为项目中的嵌套文件夹。当项目嵌套了
package.json
文件和
node\u模块
时,就会发生各种各样的麻烦事。您需要发出
访问请求
它是您自己的专用npm包,您可以将其安装到当前项目(或任何其他项目)中。我建议为此使用npm范围的包。