我想使用Typescript中的自定义路径
在我的项目中,我从:
import { User } from 'src/entities/user.entity';
致:
进入tsconfig.jsonI放入:
"paths": {
"@entities/*": ["src/entities/*.entity.ts"]
}
当我运行npm run start:dev(=nodemon)时,出现以下错误:
错误:找不到模块'@entities/user'
在调试模式下,npm打印出:
loo
我有一个守卫检查资源的所有权。如果用户是创建该资源的所有者,则他可以访问更新、读取、删除
每个资源都由其自己的服务处理。注释由CommentsModule处理,CommentsModule包含CommentsService等。处理具有所有权的资源的每个服务都实现了一个名为hasOwnery的函数,警卫将调用该函数
如果可能,我希望我的守卫根据调用它的控制器注入正确的服务。因此,如果CommentsController正在调用guard,那么它应该注入并使用CommentsService.hasO
我使用嵌套新项目创建新项目
npm运行开始->运行良好
然后我通过npm i-save@nest/config安装nest/config
imports: ConfigModule.forRoot({
envFilePath: '.development.env',
})
npm运行开始->显示错误:
找不到有效的主导出
“/home/…/node_modules/@nestjs/config/node_modules/uuid”
这行有错误吗
config/dist/utils/crea
标签: Nestjs
nestjs-confignestjs-passportnestjs-jwtnestjs-gateways
我试图在Nest JS中实现APM(Retrace)评测工具。在Nest JS中,我无法获得任何用于实现评测的文档。但我在Node JS中看到了实现评测工具,这与在Nest JS中的实现方式相同,任何人都可以告诉我
如果某个根不是管理员,我会尝试阻止它,但是当我运行代码时,我有一个TypeError,但我不知道如何解决它
谢谢
角色
import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import { Role } from './role.enums';
import { ROLES_KEY } from './roles.
我创建了一个NestJS,并为RDBMS使用了TypeORM(我在项目中使用了postgres)
Post是一个@实体类,PostRepository是Post的存储库类
我试图创建OnModuleInit服务来初始化一些数据
@Injectable()
导出类PostsDataInitializer在ModuleInit上实现{
私人数据:Post[]=[
{
标题:“生成NestJS项目”,
内容:“内容”,
},
{
标题:“创建GrapQLAPI”,
内容:“内容”,
},
{
标题:“
我想从电报帐户下载用户配置文件图片,并使用nestjs框架将其存储在本地存储器中。Cool。它可以显示在页面上,但如何将其保存到本地目录?
@Controller()
export class Controller {
constructor(
private readonly httpService: HttpService,
) {
}
@Get()
async downloadImage(@Res() res) {
目前我的控制器中有他的:
@Crud({
model: {
type: Broker
},
query: {
join: {
user: {
eager: true,
exclude: ['password']
}
}
}
})
@Controller('broker')
@UseGuards(AuthGuard('jwt'))
export class BrokerController {
co
与问题相同,如何使用lerna管理我的nestjs项目?lerna和nestJS monorepo解决方案之间有什么区别?哪一个更好,为什么
多谢各位
Nx和Nestjs monorepo非常相似。
基本上,Lerna是在一个存储库中管理多个独立软件包的更好工具。
如果您正在尝试开发应用程序,Nx/NestJS monorepo工作得更好
我试图在NestJS中创建一个websockets网关,它响应多个路径。
这是一个要求,因为我正在尝试构建的将替换现有系统。
我正在使用WsAdapter作为此应用程序的底层适配器
WebSocket路径可以用slug(例如/ws/:key)或正则表达式表示。
然而,WebSocketGateway装饰器只接受单个字符串,不能识别这样的段塞
从'@nestjs/websockets'导入{OnGatewayInit,SubscribeMessage,WebSocketGateway};
从'@n
标签: Nestjs
nestjs-confignestjs-passportnestjs-jwt
我有一个关于设置环境变量的问题
在官方文件中,它说在这种情况下使用ConfigModule,但我的情况是一个例外情况
因为我想在构造函数的super()中使用它
我的代码如下
在这种情况下有什么解决办法吗
如果你需要更多的信息,请告诉我
谢谢大家的支持
//jwt.strategy.ts
从'@nestjs/common'导入{UnauthorizedException};
从'@nestjs/config'导入{ConfigService};
从'@nestjs/passport'导入{Pas
我最近将AppModule转换为动态模块,以便能够根据上下文(E2E测试等)为MikroOrm提供不同的配置,目前看起来如下:
@模块({
进口:[
MikroOrmModule.forFeature({
实体:[待办事项],
}),
],
提供者:[TodoService],
控制器:[AppController,TodosController],
})
导出类AppModule{
静态寄存器(选项?:{
mikroOrmOptions?:MikroOrmModuleOptions;
}):动
我正在使用NestJs Mailer模块,这是最新的稳定版本。您可以找到文档
我已搜索此错误的解决方案,但未找到任何结果:
Error: self signed certificate in certificate chain
app.module.ts:
@模块({
进口:[
MailerModule.forRoot({
运输:'smtps://user@domain.com:pass@smtp.domain.com',
默认值:{
发件人:“‘嵌套模块’”,
},
模板:{
目录:uuu
是否有用于导出pdf或excel等文件的NestJS库
我正在尝试使用nodeJS库。但它不起作用。谢谢您从npm获得了两个不同的包,可以将数据导出为pdf或csv格式
以下是将数据导出为csv的包
yarn add export-to-csv
这里是以pdf格式导出数据的包
yarn add nestjs-pdf
例如:要将一个中间件应用于多个路由,我们可以使用:
export class UserModule {
public configure(consumer: MiddlewaresConsumer) {
consumer.apply(AuthMiddleware).forRoutes(
{ path: '/users', method: RequestMethod.GET },
{ path: '/users/:id', m
我想将我的查询参数从字符串转换为数字。我使用dto技术
import { IsOptional, IsInt, Min } from 'class-validator';
import { Transform } from 'class-transformer';
export class PaginationDto {
@IsOptional()
@IsInt()
@Transform(val => Number.parseInt(val))
@Min(
对于我的下一个项目,我想在前端内部使用Graphql。此外,这个项目还应该提供一个RESTAPI。
现在我发现了这个非常棒的框架“nestjs”,理论上可以将Graphql端点和rest端点结合起来。
不幸的是,如果这会导致问题,我在文档中找不到任何内容。以下代码是否可以正常使用
Artikel控制器:
@Controller('article')
@Resolver('Article')
export class ArticleController {
constructor(priv
我有这门课:
class SomeDto{
@ArrayMaxize(100)
@类型(()=>nestedTo)
@ValidateNested({each:true})
嵌套:嵌套到[];
}
我将验证管道用作:
@Body(新的ValidationPipe({transform:true})){nested}:nestedTo,
它正确地进行了验证,但每次我都得到一个空的错误数组
{
"statusCode": 400,
"message": "Bad Request"
我正在寻找帮助,以便在基本的hello world NestJS项目中设置e2e测试。我使用应用程序根文件夹中的ormconfig.js文件进行数据库配置,因为我使用事务,并且必须能够从命令行运行typeorm cli。这是或mconfig.js:
/* eslint-disable @typescript-eslint/no-var-requires */
const config = require('config')
const path = require('path')
/* esli
有人知道我使用sendGrid可能做错了什么吗
async sendTestEmail() {
const result = await this.userService.getAllSubs();
const emailList = result.map((res) => res.email)
console.log('emailList', emailList)
const msg = {
to:
我检查了很多答案,但仍然有这个错误。我希望你能帮我看看我错过了什么
错误:嵌套无法解析BookingService的依赖项
(BookingRepository,?,UserRepository)。请确保
索引[1]处的参数TableRepository位于
BookingModule上下文。可能的解决办法:
如果TableRepository是一个提供者,它是当前BookingModule的一部分吗
如果TableRepository是从单独的@Module导出的,那么该模块是否在Booki
我正在我的一个nestjs项目中使用typeorm。每当我想基于我的实体生成迁移文件时,我都会收到以下消息:
No changes in database schema were found - cannot generate a migration. To create a new empty migration use "typeorm migration:create" command
同时,数据库是空的。
这是我的配置。文件名为.env
# Database configuration
当传递查询参数({count:false})时,我遇到了supertest问题,因为没有执行dto验证,NestJS将其视为字符串。
测试是
dto是
export class CollectionQueryDto {
@IsOptional()
@IsNotEmpty()
afterId: any;
@IsOptional()
@IsOptional()
@Transform((count, obj, type) =>
obj.count.toLowe
我有一个在应用程序中注册的全局防护,它位于全局模块common.module.ts
const HeaderGuardGlobal = {
provide: APP_GUARD,
useClass: HeaderGuard
};
@Global()
@Module({
imports: [ LoggerModule ],
providers: [ HeaderGuardGlobal ],
exports: []
})
header.guard.ts:
我在互联网上搜索了几个小时,希望在nestjs中找到任何支持字节范围请求()的内置功能。我来自.NET世界,在那里我们有这样的东西:
[Route("/streams/{id}")]
public IActionResult Clip(string Id) {
... more code ...
return File(myDataStream, "video/mp4", enableRangeProcessing: true);
}
n
在我的NestJs应用程序中,我有两个实体:person.entity.ts和property.entity.ts,这两个实体通过一对一的关系连接。我已经为个人和财产创建了DTO
关系的拥有方是这样定义的:
@JoinColumn()
@OneToMany(
(type) => PersonProperties,
(personProperties) => personProperties.person,
{ cascade: ['insert', '
我有几个端点,允许分页并返回一个包含分页项以及最大可能页数的对象。例如,如果我有41个文档,并且每页返回5个文档,则看起来像:
{
项目:[……],
最大页数:9
}
我还制作了一个自定义装饰器,以便将ApiOkResponse和ApiQuery分组,如下所示:
导出函数分页(){
返回应用程序编辑器(
ApiQuery({name:page,type:Number}),
ApiOkResponse({description:'items and metadata',type:Paginati
我的目标是使用cronjobs构建一个nest.js应用程序,每10秒访问一次mongoDB。在这种情况下,我想阅读mongo,但在未来,我也在考虑保存到mongo
我没有错误,但cron作业未执行
项目在这里:
AppModule
输出:
[Nest] 11320 - 24/05/2021, 17:21:44 [TasksService] Called every 10 seconds
[Nest]11320-24/05/2021,17:21:44[任务服务]每10秒呼叫一次
了解更
您好,我正在使用缓存模块在nest js中进行缓存,正如我在文档中读到的,您可以在register函数中设置ttl时间
CacheModule.register({
ttl: 200000,
max: 1000
})
我很困惑,如何将自定义ttl设置为任何路由,所以如果我有,像这样的路由
@UseInterceptors(CacheInterceptor)
export class TestController {
@Get('testData')
根据我使用的代码:
@Controller('books')
export class BooksController {
constructor(
private readonly bookService: BooksService,
) {}
@SerializeOptions({
excludePrefixes: ['_'],
})
@Get()
async getAll(): Promise<Book[]> {
return
标签: Nestjs
access-controlrole-based-access-controlnestjs-passport
我正在用NestJS编写我的第一个API,我正在寻找一种管理资源访问的智能方法。我有以下简化结构:
组织:
使用者
产品
用户:
电子邮件
组织机构
产品:
组织机构
更多数据
我使用Passport JWT和本地策略。但我想确保只有组织内部的用户才能为该组织更新和创建产品
我已经看过了,但不知道它是否可以用于此。您找到解决方案了吗?您找到了解决方案吗?
每次我尝试运行项目时,都会出现以下错误:
CircularDependencyException[错误]:已创建循环依赖项
在@InjectRepository()内检测到。请确保两边
双向关系的一部分用“forwardRef()”修饰。
此外,尽量消除桶形文件,因为它们可能导致
还有意想不到的行为
我唯一的线索是我的一个模块:
如果我评论这一行:
constructor(
@InjectRepository(Role) private roleRepo: Repository&
我正在尝试使用pm2在虚拟机上托管api。
在我的github操作yml上,我有:
- run: npm ci
- run: npm run build --if-present
- run: pm2 restart --update-env production=true
EverythSign运行正常,但当我在虚拟机上进行pm2登录时,我收到一条错误消息:mongoose无法连接,可能是因为即使使用.env.production文件,env变量也没有正确传递。
在
我想用nestJs实现typeorm的自定义记录器。我的目标是在MySQL中存储查询
首先,我创建一个实体:
@Entity('log')
export class LogModel extends BaseEntity {
@PrimaryGeneratedColumn()
id: number
@Column({ nullable: true, type: "text" })
query: string
}
然后创建一个自定义记录器
我目前使用的是6.0.4,我想使用6.5.2。最好的方法是什么?CLI中有什么内容吗?我是否手动更新每个@nestjs包
当前依赖项包括:
"@nestjs/common": "^6.0.4",
"@nestjs/core": "^6.0.4",
"@nestjs/microservices": "^6.0.4",
"@nestjs/p
我创建了一个新的NestJs应用程序(NestNew项目名称)。
然后我创建了一个新库(nestglibrary hello)。
然后构建我创建的库(nest build hello)
在所有这些之后,我将构建的库导入到我的主模块中
import {Module} from '@nestjs/common';
import {AppController} from './app.controller';
import {AppService} from './app.service';
impo
看起来像是大脑中真正的疼痛
关于这一点,在许多网站和其他网站上都有一个很大的线索,他们中的许多人最终使用了来自“类验证器”的useContainer,但这对我不起作用
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
useContainer(app, { fallback: true });
await app.listen(3000);
}
bootstrap
配置
应用程序模块
export default () => ({
SECRET: process.env.SECRET,
REDIS: {
password: process.env.PASSWORD,
port: process.env.PORT
}
})
我做错了什么?我犯了这个错误
import { AuthModule } from './modules/auth/auth.module';
import { UserModule } from '
some.entity.ts
amount:number
但当我在postgres中存储一个非常大的数据时,它会抛出错误“整数超出范围”
我的问题是如何使用typeorm在@Column decorator中定义typebigint将bigint存储为psql中的type
@Column({type: 'bigint'})
columnName: string;
请注意,基于@Column decorator中的bigint映射到string定义类型bigint
@Column({type:
我正在为我的cron使用nestjs时间表,但我有一个问题。
如何停止cron而不中断当前正在运行的cron以进行构建和更改代码?或者有什么建议或策略?我以前也遇到过同样的问题
我将所有cron作业保存到一个专用表中
我做了一个服务来运行和停止cron作业
每次服务器重新启动时,此服务都会从表中查找作业并还原它们
例如:
@Injectable()
导出类AppJobService在Application Bootstrap上实现{
建造师(
专用计划:SchedulerRegistry
)
这不是一个具体的编码问题——更多的是一个一般性问题。我在文档中找不到答案
假设我们有一个名为Invoice的实体,它包含许多LineItem实体,我使用manytone()和OneToMany()进行了设置,如文档所述。此外,我们确保在OneToMany()装饰器选项中包含cascade:true
现在,让我们创建一个包含2个LineItems的Invoice对象。如果我保存这张发票,TypeORM会正确地级联并自动将它们保存到数据库中——一切都很顺利;我只需要一行代码就可以将3行保存到数据库中
我需要在我的nestjs项目的main.ts文件中获得所有实体(使用@Entity decorator创建)和所有服务(使用@Injectable decorator创建)的列表。
我们可以使用Reflect元数据获取上述详细信息吗?如果可以,如何获取
我有一个控制器,有3条路线
@Post
@Get
@Get('/:id')
即使我重新启动服务器,我的控制器也不会更新
我编辑了一些东西,它在50次重启后被更新,看起来nestjs正在硬缓存一些东西,但我没有找到任何东西
10分钟前:
throw new HttpException({ message: 'Failed to get surveys' }, HttpStatus.INTERNAL_SERVER_ERROR);
throw new HttpException({ error:
我开始学习Nest.js,所以我将学习Academicind教程()
当我尝试在POST请求中使用@body()装饰器获取body变量时,我的代码没有按预期工作。遵循products.controller.ts
@Post()
async addProduct(@Body() body: Product) {
console.log(body);
const generatedId = this.productService.insertProduct(body.title, body.
这很好:
从“类验证器”导入{IsIn};
从'@nestjs/swagger'导入{ApiProperty};
导出类createEventDto{
@IsIn[0,1,2,3,4,5]
@蜂房地产{
description:“严重性属性的说明”,
}
严重程度:数量;
}
看起来像这样的大摇大摆:
我正在尝试了解如何将严重性类型更改为enum,我已经尝试了:
导出枚举严重性{
临界值=1,
主修=2,
小调=3,
警告=2,
Info=1,
清除=0,
}
从“类验证器”导入{IsEnum
我很难找到返回新创建的实体及其关系的最佳方法
独自一人,我的每一条路线都运转正常。也就是说,所有积垢操作都非常有效。如果我对实体执行GET,我也会按预期恢复关系
我遇到的问题是,当一个新实体被创建时——我返回那个实体。例如:
const foo = this.create();
foo.relationshipId = relationshipId;
foo.bar = bar;
foo.baz = baz;
foo.uuid = uuidv4();
try {
await foo.
我试图在TypeORM上构建一个简单的查询,但我并没有使用内部连接获取整个数据。我做错了什么
SQL查询运行得很好,但typeorm查询只返回“watcher”表的数据
SQL查询
SELECT *
FROM watcher w
INNER JOIN user
ON w.userId = user.id;
打字形式
async getSystemWideWatchers(): Promise<any[]> {
const query = this.createQueryBu
标签: Nestjs
nestjs-gatewaysnestjs-exception-filters
我试图使用“错误输入异常过滤器”捕获错误并将其返回给客户端。在我的monorepo中,我有WebSocket和http端点,在一个应用程序中,我有这两个端点
我现在遇到的问题是,我不想对WS&HTTP使用两个单独的异常过滤器,直到现在,我一直依赖于nestjs定义请求或套接字上下文来访问它,或者将错误返回到websocket,或者通过HTTP res.send返回错误
但事实证明,即使应用程序中根本没有WebSocket,没有注册适配器,什么都没有,它们都是定义的
异常处理程序:
con
我正在尝试用Nest.js和TypeORM构建一个项目。我喜欢打字
我使用一些静态助手方法定义了一个实体,如下所示:
export类目扩展BaseEntity{
@PrimaryGeneratedColumn()
id:编号;
@第()列
名称:字符串;
@第()列
描述:字符串;
静态异步createNew(属性:BookDto):Promise{
const entity=新书();
entity.name=attributes.name;
entity.description=attrib
标签: Nestjs
serverless-frameworkaws-serverless
我见过多个用Nestjs和Serverless框架构建的后端,比如国际Slackline协会的。虽然这本身很好,但考虑到无服务器组件的部署速度,我真的希望能够同时使用Nestjs和无服务器组件
在我看来,这似乎是一种自然的适合,因为NestJS默认使用express,而expressserverless组件在内部使用aws serverless express。但我没有找到任何合适的指南来指导如何一起实施它们。无服务器组件的github页面上存在一个请求相同的消息,但没有回复
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 14 页