问题标签 [nestjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

nestjs - 如何以可重用的方式组织依赖模块?

我目前有两个模块:

  • Auth处理登录和注册
  • User处理所有用户 crud 操作

Auth需要User模块注册和验证用户。所以目前,Auth导入User模块:

但是,因此,如果我想重用这些模块,我必须同时包含这两个模块。此外,如果我移动了User模块,我必须更新Auth模块中对它的所有引用。有没有更好的方法来组织两个依赖模块?他们应该合并吗?

有一个更好的方法吗?

0 投票
1 回答
166 浏览

typescript - 在模块中使用导出组件

我有UserService哪个是必需的UserModule,然后添加到exports

然后我有一个AuthModule需要使用UserServicewhich 执行此操作:

我如何使用UserService这里?文档说:

现在每个将导入 CatsModule 的模块(我们需要将 CatsModule 放入 imports 数组中)都可以访问 CatsService 并且将与所有正在导入该模块的模块共享同一个实例。

但没有给出你会如何做的例子。

0 投票
12 回答
60301 浏览

node.js - 未使用 TypeORM 找到连接“默认”

我将 TypeORM 与 NestJS 一起使用,但无法正确保存实体。

连接创建工作,postgres 在 5432 端口上运行。凭证也可以。

但是,当我需要使用 entity.save() 保存资源时,我得到了:

我检查了 TypeORM ConnectionManager 的源文件(https://github.com/typeorm/typeorm/blob/master/src/connection/ConnectionManager.ts),但似乎 TypeORM 第一次创建连接时它属性为“默认”名称,如果我们不提供,对我来说就是这种情况。

我将 TypeORM 与 TypeOrmModule 设置为

当然,我的常数是正确的。有任何想法吗 ?

0 投票
1 回答
7902 浏览

node.js - 错误:Nest 无法导出不属于当前处理的模块(DatabaseModule)的组件/模块

我正在编写一个非常简单的应用程序,允许使用 express 在 PostgreSQL 数据库上创建 CRUD 功能。当我运行我的程序时,出现此错误:错误:Nest 无法导出不属于当前处理的模块(DatabaseModule)的组件/模块。请验证每个导出的单元在此特定上下文中是否可用。

我真的不明白为什么......在app.module.ts中,我导入了DatabaseModule,它调用了数据库提供程序(我的postreSQL连接在哪里)。

我是打字稿的新手,我迷路了:/我只发布应用程序的入口点,但如果还不够,我可以发送更多内容,感谢您的帮助:

这个 app.module.ts

和 database.module :

GitHub:https ://github.com/lukile/catProject

0 投票
1 回答
456 浏览

typeorm - TypeORM- Use the joined entity instead?

I've got an auth_token table and user table. I'd like to resolve a user from a given auth token using the query builder. The issue I'm having is that after joining, the return type still thinks it's going to be an AuthToken. Is there a way to tell the query builder to use the joined entity instead?

0 投票
2 回答
6317 浏览

express - NestJS - 默认(通配符)路由?

在我的 Angular 应用程序中,如果我加载主页/然后导航到 ,/products它可以正常工作(它是一个延迟加载的模块)。但是如果现在我重新加载页面,浏览器会GET /products调用服务器,这会导致 404。

解决方案是发送index.html,Angular 应用程序又回到了轨道上。所以在 Express 中我这样做app.all("*", (req,res) => { res.sendFile("index.html") })并且它有效。

如何在 Nest 中做同样的事情?

有一个@All装饰器,但是给定组件中的每个控制器都处理一个子路由,例如@Controller("cats")将匹配/cats路由,所以如果我添加@All这个控制器,它将只匹配/cats/*,而不匹配*

我真的必须为此创建一个带有控制器的完整独立模块吗?这就是我所做的

在我的主模块中:

它有效,但似乎有点矫枉过正。这是要走的路还是有更简单的技巧?

0 投票
1 回答
127 浏览

nestjs - 如何找到异常的真实文件

当我的应用程序崩溃时,nestjs 处理了一个异常,但我无法获取真正的问题文件

异常堆栈:

...是我的工作目录

我怎么知道异常来自哪个文件

0 投票
1 回答
1001 浏览

node.js - NestJS 是否有用于 CRUD 生成的内置工具

NestJS 是否有像 Loopback 或 Sails.js 这样的内置 CRUD 生成工具?我真的很喜欢 NestJS 的想法,但我不想在每个控制器中重复相同的事情。如果有人能解释我如何达到它,我将不胜感激?

0 投票
1 回答
1820 浏览

mongoose - 在 NestJS 中使用 Jest 和 MongoDB 进行单元测试

我正在用 Jest 在框架 NestJS 中实现单元测试。当我启动测试时,会发生此错误:

在此处输入图像描述

我的测试文件是这样的:

在此处输入图像描述

我的 app.module.ts 是:

在此处输入图像描述

我的 usuario.controller.ts 是:

在此处输入图像描述

我的usuario.service.ts是:

在此处输入图像描述

我的 usuario.squema.ts 是:

在此处输入图像描述

我认为问题是在解决测试文件中的依赖注入时nestjs的模型(user.service.ts的@InjectModel)的注入。

0 投票
0 回答
622 浏览

node.js - 带有自定义传输的 Nestjs 微服务,控制器呢?

我喜欢这个框架,但我有一个问题,当为微服务使用自定义传输时,控制器呢?我的意思是,我可以在我的模块中为控制器使用普通的 TCP 传输,也可以使用我定义的自定义传输?

我想在我的微服务中使用自定义传输服务器,但我觉得框架松散了,或者我不知道如何在此设置中使用控制器;为了更好地解释它,我希望我的微服务有时可以使用 websockets 进行通信,但我也想使用控制器 TCP 访问微服务,所以最好的形式是在 main.ts 中创建两个应用程序?一个使用我的自定义传输(不带控制器),另一个使用 tcp 传输(带有控制器、服务等)?

如果没有可以使用传输的控制器,那么使用自定义传输在微服务中加载模块的目的是什么?

文档对此并不清楚。