标签: nestjs

无法生成迁移

我有一个项目使用 typeorm 来创建数据库。当我执行命令来生成到我的项目的迁移时,它给了我错误

我有以下 orm 配置 json 文件:

 {
   "type": "postgres",
   "host": "localhost",
   "port": 5432,
   "username": "postgres",
   "password": "",
   "database": "postgres",
   "synchronize": true,
   "logging": false,
  "entities": [
    "src/entity/**/*.ts"
  ],
   "migrations": [
      "src/migration/**/*.ts"
   ],
   "subscribers": [
      "src/subscriber/**/*.ts"
   ],
   "cli": {
      "entitiesDir": "src/entity",
      "migrationsDir": "src/migration",
         "subscribersDir": "src/subscriber"
        }
    }
Run Code Online (Sandbox Code Playgroud)

我有这个用户实体类:

import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from "typeorm";
import { Transaction } from "./Transactions";
export type UserStatus = "Active" | "Inactive";

@Entity()
export class User {

@PrimaryGeneratedColumn()
id: number;

@Column("varchar",{
    length:50 …
Run Code Online (Sandbox Code Playgroud)

postgresql node.js typeorm nestjs

9
推荐指数
2
解决办法
2万
查看次数

禁用 NestJS 中所有 POST 的状态 201

我的客户期望所有成功的状态代码都等于 200。但是 NestJS 默认对所有 POST 方法使用 201。如何在应用程序范围内禁用 POST 201?不是针对一种方法,而是针对整个应用程序。

javascript node.js nestjs

9
推荐指数
2
解决办法
2万
查看次数

如何在nestjs后端和react前端之间共享typescript类型?

假设我的 Nestjs 后端有一个 /createPost POST 端点。请求和响应对象应通过 DTO 在后端完全键入。但是,如何将这些类型引入前端?我想要一个输入的帖子请求对象,这样我就无法在帖子正文中输入无效字段或缺少字段。我还希望有一个用于响应的打字稿界面。我想重用后端的代码。解决这个问题的最佳方法是什么?是否有某种类型生成器库?

rest reactjs nestjs

9
推荐指数
1
解决办法
2065
查看次数

Multer 上传文件时损坏 UTF8 文件名

使用 axios http 客户端将具有 UTF-8 文件名的文件 POST 到 Multer 的正确方法是什么?Chrome 似乎正在为 multipart/form-data 正文发送正确编码的有效负载

utf-8 multer nestjs

9
推荐指数
1
解决办法
4926
查看次数

如何在 NestJS 9 (TypeORM 3.+) 中扩展 TypeORM 存储库

以前,TypeORM 存储库可以扩展并直接注入到服务中,例如:

import { User } from './entities/user.entity';
import { EntityRepository, Repository } from 'typeorm';

@EntityRepository(User)
export class UsersRepo extends Repository<User> {
  // my custom repo methods
}
Run Code Online (Sandbox Code Playgroud)
import { Injectable } from '@nestjs/common'
import { UsersRepo } from './users.repo';

@Injectable()
export class UsersService {
  constructor(private readonly usersRepo: UsersRepo) {}
}
Run Code Online (Sandbox Code Playgroud)

但从 3.0.0 版本开始,TypeORM不支持通过继承扩展存储库

如何在 NestJS 9(依赖于 TypeORM 3.+)中实现这样的行为?我想到的唯一解决方案是将自定义方法添加到服务层。但我想将所有与 ORM 相关的方法(查询、聚合等)保留在存储库层中。

orm dependency-injection node.js typeorm nestjs

9
推荐指数
2
解决办法
1万
查看次数

如何在 DTO NestJs 上设置默认值?

import { IsString, IsNumber, IsOptional, IsUUID, Min, Max } from 'class-validator';
import { Transform } from 'class-transformer';

export class QueryCollateralTypeDto {
  @Transform(({ value }) => parseInt(value))
  @IsNumber()
  @IsOptional()
  page: number;

  @Transform(({ value }) => parseInt(value))
  @IsNumber()
  @IsOptional()
  limit: number;

  @IsString()
  @IsOptional()
  select: string;
}
Run Code Online (Sandbox Code Playgroud)

我想设置页面的默认整数值以及选择的限制和字符串值(例如整数 1 的页面值、整数 10 的限制值以及“field1,field2,...”的选择值)

validation default node.js typescript nestjs

9
推荐指数
2
解决办法
2万
查看次数

节点版本 18.12.0 本地 Mongodb 连接失败?

我发现节点版本18.12.0和 mongodb存在一个问题6.0.2。我已经使用 mongodb 构建了一个 Nestjs 应用程序。这里我使用@nestjs/mongoose(v- 9.0.2)mongoose (v-6.7.0)

在这里我可以看到,当我将 Node js 升级到最新的 lts 版本时,我无法连接到 mongodb。它显示类似的错误unable to connect to database

但是当我降级到节点版本16.18.0时,它工作正常。我的问题是你们已经面临这个问题,或者我是唯一遇到这个问题的人。如果你知道的话,那么问题到底出在哪里呢?

这是我的连接代码-

MongooseModule.forRoot("mongodb://localhost:27017/nekmart", {
      connectionFactory: (connection) => {
        connection.plugin(slug, { number: true });
        return connection
      }
}),
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js nestjs

9
推荐指数
1
解决办法
1406
查看次数

在 Nestjs api 中编译另一个工作区项目的代码 - 意外的标记“导出”

我正在尝试创建一个包含 NestJs API、React 应用程序以及它们之间共享的许多其他较小项目的 monorepo

\n

monorepo 设置了纱线工作区

\n

使用 Vite 的 React 应用程序可以完美地导入和编译常见项目,但 NestJs api 永远不会编译,通常会给出错误SyntaxError: Unexpected token \'export\'

\n

我制作了一个最小的存储库,其中仅包含一个基本的 Nest 项目和一个公共文件夹,以尝试使用以下结构进行单个函数导入:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 common                  # Sample common project\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tsconfig         \n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src        \n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test.ts         # The file called from the api\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package.json   \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 api                     # NestJs API\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tsconfig      \n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src        \n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package.json             \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package.json            # Yarn workspace setup\n
Run Code Online (Sandbox Code Playgroud)\n

主要的package.json:

\n
{\n    "name": "mono",\n    "workspaces": [\n …
Run Code Online (Sandbox Code Playgroud)

workspace typescript monorepo nestjs yarn-workspaces

9
推荐指数
1
解决办法
1585
查看次数

错误调试失败。错误表达式:内部模块引用的 import= 应该在早期的转换器中处理

我在嵌套构建脚本期间收到以下错误: Error Debug Failure. False expression: import= for internal module references should be handled in an earlier transformer. 我无法理解它的含义。希望筑巢阶段成功

javascript typescript nestjs

9
推荐指数
1
解决办法
1771
查看次数

NestJS - 测试套件无法运行无法从“comment/comment.entity.ts”中找到模块“src/article/article.entity”

我需要 nestjs 和 jest 测试方面的帮助。我是 NestJS 的新手,在运行测试时遇到了无法找到模块错误的问题。

我正在尝试测试我的服务,当我运行测试时,我收到了错误消息:

src/article/article.service.spec.ts ? 测试套件无法运行

Cannot find module 'src/article/article.entity' from 'comment/comment.entity.ts'

Require stack:
  comment/comment.entity.ts
  article/article.entity.ts
  article/article.service.spec.ts

   6 |   ManyToOne,
   7 | } from 'typeorm';
>  8 | import { Article } from 'src/article/article.entity';
     | ^
   9 | 
  10 | @Entity()
  11 | export class Comment {

  at Resolver.resolveModule (../node_modules/jest-resolve/build/index.js:307:11)
  at Object.<anonymous> (comment/comment.entity.ts:8:1)
Run Code Online (Sandbox Code Playgroud)

这种类似的错误通过不同控制器、服务等的所有其他测试出现。

这是我要测试的代码。

article.service.ts

import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { Article } from "./article.entity";
import …
Run Code Online (Sandbox Code Playgroud)

testing unit-testing typescript jestjs nestjs

8
推荐指数
4
解决办法
3379
查看次数