在angular和nodejs项目之间共享代码

kd3sttzy  于 2023-02-18  发布在  Node.js
关注(0)|答案(3)|浏览(127)

我有一些类最初是为我的Angular前端编写的,我也想在NodeJS后端使用它们。
那些类是用typescript编写的,而我的NodeJS后端是用javascript编写的。
在两个项目之间共享此代码的最直接的方法是什么,以便将来可以使用相同的源代码?
当然,如果我能把代码保留在typescript和private中,这将是一个额外的好处,但我担心的是,我将不得不把它重写为javascript,并为他们创建一个公共的npm包。

juzqafwq

juzqafwq1#

你可能想看看Nx,它允许你创建一个库,可以在前端应用程序(例如Angular)和后端Node.js应用程序之间共享。

dgenwo3n

dgenwo3n2#

由于这在今天仍然是相关的,下面是Angular客户端和NodeJs服务器代码共享的一般步骤(在下面的例子中,我描述了如何在服务器和客户端之间共享数据模型,但同样的方法当然可以用于共享其他代码):
1.为共享模块或包创建一个新目录。此目录将包含共享数据模型和实体的文件。
1.在共享模块目录中,创建一个包含以下内容的新package.json文件:

{
  "name": "shared",
  "version": "1.0.0"
}

1.在同一目录中,创建一个TypeScript文件,用于定义共享数据模型和实体,例如shared-models.ts
1.在Angular客户端的package.json文件中,在依赖项部分添加对共享模块的引用,如下所示:

"dependencies": {
  "shared": "file:../path/to/shared/directory"
}

1.在您的Node.js服务器代码中,安装shared包作为依赖项:

npm install ../path/to/shared/directory

1.在Angular客户端代码中,从shared包导入共享数据模型和实体:

import { MySharedModel } from 'shared';

1.在Node.js服务器代码中,从shared包导入共享数据模型和实体:

import { MySharedModel } from 'shared';

完成以上步骤后,您现在应该能够在Angular客户端和Node.js服务器上使用相同的数据模型和实体,当您对共享模块进行更改时,它们将反映在客户端和服务器代码中。

9udxz4iz

9udxz4iz3#

您可以在Angular和Node项目之间共享一些代码,为此您需要在节点端选择“Nest”框架
鸟巢的好处
1.它使用 typescript
1.它遵循与Angular 相同的语法
1.它遵循体系结构中的模块化
For detailed information, please follow official nest website
xplat -跨平台
这个跨平台已经有了你的问题的解决方案。
xplat official website

相关问题