问题标签 [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.
nestjs - 如何以可重用的方式组织依赖模块?
我目前有两个模块:
Auth
处理登录和注册User
处理所有用户 crud 操作
Auth
需要User
模块注册和验证用户。所以目前,Auth
导入User
模块:
但是,因此,如果我想重用这些模块,我必须同时包含这两个模块。此外,如果我移动了User
模块,我必须更新Auth
模块中对它的所有引用。有没有更好的方法来组织两个依赖模块?他们应该合并吗?
有一个更好的方法吗?
typescript - 在模块中使用导出组件
我有UserService
哪个是必需的UserModule
,然后添加到exports
然后我有一个AuthModule
需要使用UserService
which 执行此操作:
我如何使用UserService
这里?文档说:
现在每个将导入 CatsModule 的模块(我们需要将 CatsModule 放入 imports 数组中)都可以访问 CatsService 并且将与所有正在导入该模块的模块共享同一个实例。
但没有给出你会如何做的例子。
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 设置为
当然,我的常数是正确的。有任何想法吗 ?
node.js - 错误:Nest 无法导出不属于当前处理的模块(DatabaseModule)的组件/模块
我正在编写一个非常简单的应用程序,允许使用 express 在 PostgreSQL 数据库上创建 CRUD 功能。当我运行我的程序时,出现此错误:错误:Nest 无法导出不属于当前处理的模块(DatabaseModule)的组件/模块。请验证每个导出的单元在此特定上下文中是否可用。
我真的不明白为什么......在app.module.ts中,我导入了DatabaseModule,它调用了数据库提供程序(我的postreSQL连接在哪里)。
我是打字稿的新手,我迷路了:/我只发布应用程序的入口点,但如果还不够,我可以发送更多内容,感谢您的帮助:
这个 app.module.ts
和 database.module :
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?
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/*
,而不匹配*
。
我真的必须为此创建一个带有控制器的完整独立模块吗?这就是我所做的
在我的主模块中:
它有效,但似乎有点矫枉过正。这是要走的路还是有更简单的技巧?
nestjs - 如何找到异常的真实文件
当我的应用程序崩溃时,nestjs 处理了一个异常,但我无法获取真正的问题文件
异常堆栈:
这...
是我的工作目录
我怎么知道异常来自哪个文件
node.js - NestJS 是否有用于 CRUD 生成的内置工具
NestJS 是否有像 Loopback 或 Sails.js 这样的内置 CRUD 生成工具?我真的很喜欢 NestJS 的想法,但我不想在每个控制器中重复相同的事情。如果有人能解释我如何达到它,我将不胜感激?
node.js - 带有自定义传输的 Nestjs 微服务,控制器呢?
我喜欢这个框架,但我有一个问题,当为微服务使用自定义传输时,控制器呢?我的意思是,我可以在我的模块中为控制器使用普通的 TCP 传输,也可以使用我定义的自定义传输?
我想在我的微服务中使用自定义传输服务器,但我觉得框架松散了,或者我不知道如何在此设置中使用控制器;为了更好地解释它,我希望我的微服务有时可以使用 websockets 进行通信,但我也想使用控制器 TCP 访问微服务,所以最好的形式是在 main.ts 中创建两个应用程序?一个使用我的自定义传输(不带控制器),另一个使用 tcp 传输(带有控制器、服务等)?
如果没有可以使用传输的控制器,那么使用自定义传输在微服务中加载模块的目的是什么?
文档对此并不清楚。