jan*_*i_r 6 swagger server angular nestjs
我有一个 NestJS 后端 (6.9.0) 和 Angular 前端项目 (8.2.11)。我同时使用在我的本地主机中并行启动前端和后端。
后端启动正常(启动速度更快),但是当 Angular 项目开始编译并且编译准备就绪时,它会引发以下错误:
任何想法为什么?
这之前工作得很好,不幸的是我无法准确指出是什么变化导致了这种行为。在 NestJS 中,我没有使用 cli,我只是用 tsc 构建它。
WARNING in ../server/node_modules/@nestjs/common/utils/load-package.util.js 8:39-59
Critical dependency: the request of a dependency is an expression
ERROR in ../server/node_modules/@nestjs/common/cache/cache.providers.js
Module not found: Error: Can't resolve 'cache-manager' in '/mnt/c/codes/salesforce-compare/server/node_modules/@nestjs/common/cache'
ERROR in ../server/node_modules/@nestjs/common/pipes/validation.pipe.js
Module not found: Error: Can't resolve 'class-transformer' in '/mnt/c/codes/salesforce-compare/server/node_modules/@nestjs/common/pipes'
ERROR in ../server/node_modules/@nestjs/common/serializer/class-serializer.interceptor.js
Module not found: Error: Can't resolve 'class-transformer' in '/mnt/c/codes/salesforce-compare/server/node_modules/@nestjs/common/serializer'
ERROR in ../server/node_modules/@nestjs/common/pipes/validation.pipe.js
Module not found: Error: Can't resolve 'class-validator' in '/mnt/c/codes/salesforce-compare/server/node_modules/@nestjs/common/pipes'
Run Code Online (Sandbox Code Playgroud)
小智 7
看起来您的一些 nestjs 包是在 angular 应用程序中导入的。
我也遇到了这个问题。就我而言,我与后端和前端应用程序的@ApiProperty注释共享了实体类@nestjs/swagger。
当试图导入一个包的一部分时,这些部分不是为合并到最终包中而设计的(比如ApiProperty@chshanovskiy 和我的情况)。
这是我在尝试混合基于Nest.js和JS前端部分的一个常见问题(在我的情况:在工作区NX角),而且在鸟巢项目本身它一个有趣的讨论在这里。
在仔细阅读并尝试了上一期中描述的策略后,我终于通过改变我构建依赖项的方式解决了这个问题,这里是我结束时对工作文件系统的解释:
??? apps
? ??? back // <- Nest.js app
? ??? front // <- Angular app
??? libs
? ??? back
? ? ??? service-1 // <- Nest.js library (publishable)
? ??? front
? ? ??? service-1 // <- Angular library (NgRx feature, publishable)
? ??? interfaces
? ? ??? service-1 // <- Node.js library (publishable)
Run Code Online (Sandbox Code Playgroud)
back / service-1:Nest.js 库,使用 Swagger 注释(尤其是 ApiProperty)。每个 DTO 类还实现了一个来自interfaces / service-1front / service-1: Angular 库调用 Nest.js API 并使用来自的类型指定其接口契约 interfaces / service-1interfaces / service-1:独立的 Node.js 库导出需要在 back / service-1和之间共享的接口/类型front / service-1这样,后端和前端都依赖于相同的接口,并且不需要在其他地方使用 Nest.js 部件,而不是在它们自己的位置:back/*库和应用程序。
| 归档时间: |
|
| 查看次数: |
2191 次 |
| 最近记录: |