我有一些类最初是为我的Angular前端编写的,我也想在NodeJS后端使用它们。那些类是用typescript编写的,而我的NodeJS后端是用javascript编写的。在两个项目之间共享此代码的最直接的方法是什么,以便将来可以使用相同的源代码?当然,如果我能把代码保留在typescript和private中,这将是一个额外的好处,但我担心的是,我将不得不把它重写为javascript,并为他们创建一个公共的npm包。
juzqafwq1#
你可能想看看Nx,它允许你创建一个库,可以在前端应用程序(例如Angular)和后端Node.js应用程序之间共享。
dgenwo3n2#
由于这在今天仍然是相关的,下面是Angular客户端和NodeJs服务器代码共享的一般步骤(在下面的例子中,我描述了如何在服务器和客户端之间共享数据模型,但同样的方法当然可以用于共享其他代码):1.为共享模块或包创建一个新目录。此目录将包含共享数据模型和实体的文件。1.在共享模块目录中,创建一个包含以下内容的新package.json文件:
package.json
{ "name": "shared", "version": "1.0.0" }
1.在同一目录中,创建一个TypeScript文件,用于定义共享数据模型和实体,例如shared-models.ts。1.在Angular客户端的package.json文件中,在依赖项部分添加对共享模块的引用,如下所示:
shared-models.ts
"dependencies": { "shared": "file:../path/to/shared/directory" }
1.在您的Node.js服务器代码中,安装shared包作为依赖项:
shared
npm install ../path/to/shared/directory
1.在Angular客户端代码中,从shared包导入共享数据模型和实体:
import { MySharedModel } from 'shared';
1.在Node.js服务器代码中,从shared包导入共享数据模型和实体:
完成以上步骤后,您现在应该能够在Angular客户端和Node.js服务器上使用相同的数据模型和实体,当您对共享模块进行更改时,它们将反映在客户端和服务器代码中。
9udxz4iz3#
您可以在Angular和Node项目之间共享一些代码,为此您需要在节点端选择“Nest”框架。鸟巢的好处1.它使用 typescript1.它遵循与Angular 相同的语法1.它遵循体系结构中的模块化For detailed information, please follow official nest websitexplat -跨平台这个跨平台已经有了你的问题的解决方案。xplat official website
3条答案
按热度按时间juzqafwq1#
你可能想看看Nx,它允许你创建一个库,可以在前端应用程序(例如Angular)和后端Node.js应用程序之间共享。
dgenwo3n2#
由于这在今天仍然是相关的,下面是Angular客户端和NodeJs服务器代码共享的一般步骤(在下面的例子中,我描述了如何在服务器和客户端之间共享数据模型,但同样的方法当然可以用于共享其他代码):
1.为共享模块或包创建一个新目录。此目录将包含共享数据模型和实体的文件。
1.在共享模块目录中,创建一个包含以下内容的新
package.json
文件:1.在同一目录中,创建一个TypeScript文件,用于定义共享数据模型和实体,例如
shared-models.ts
。1.在Angular客户端的
package.json
文件中,在依赖项部分添加对共享模块的引用,如下所示:1.在您的Node.js服务器代码中,安装
shared
包作为依赖项:1.在Angular客户端代码中,从
shared
包导入共享数据模型和实体:1.在Node.js服务器代码中,从
shared
包导入共享数据模型和实体:完成以上步骤后,您现在应该能够在Angular客户端和Node.js服务器上使用相同的数据模型和实体,当您对共享模块进行更改时,它们将反映在客户端和服务器代码中。
9udxz4iz3#
您可以在Angular和Node项目之间共享一些代码,为此您需要在节点端选择“Nest”框架。
鸟巢的好处
1.它使用 typescript
1.它遵循与Angular 相同的语法
1.它遵循体系结构中的模块化
For detailed information, please follow official nest website
xplat -跨平台
这个跨平台已经有了你的问题的解决方案。
xplat official website