nestjs - 无法运行生产构建
问题描述
我正在使用与 PostgreSQL 连接的 Nestjs 和 TypeORM 开发 API。NestJS 使用ormconfig.json
文件来提供数据库连接。
{
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": "xyz",
"password": "xyz",
"database": "xyz",
"entities": ["src/**/**.entity{.ts,.js}"],
"synchronize": true
}
在开发模式下npm run start:dev
一切正常,API 正在响应,与数据库正确连接。但是当我尝试运行生产构建时:npm run prestart:prod
随后出现npm run start:prod
中断并且程序无法连接到数据库,这会导致错误:
[Nest] 12444 - 2019-04-09 22:19 [NestFactory] Starting Nest application...
[Nest] 12444 - 2019-04-09 22:19 [InstanceLoader] TypeOrmModule dependencies initialized +85ms
[Nest] 12444 - 2019-04-09 22:19 [InstanceLoader] AppModule dependencies initialized +3ms
[Nest] 12444 - 2019-04-09 22:19 [TypeOrmModule] Unable to connect to the database. Retrying (1)... +111ms
C:\_code\sensorhub\packages\api-nestjs\src\installations\models\installation.entity.ts:1
(function (exports, require, module, __filename, __dirname) { import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
^
SyntaxError: Unexpected token {
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
[Nest] 12444 - 2019-04-09 22:19 [TypeOrmModule] Unable to connect to the database. Retrying (2)... +3130ms
安装实体.ts
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
@Entity()
export class InstallationEntity {
@PrimaryGeneratedColumn()
id: number;
@Column({ length: 500 })
name: string;
@Column('text')
description: string;
}
我认为代码本身是正确的,但是正确的配置有问题。
巢穴ver.6.0.0
解决方案
试试这个:https ://github.com/nestjs/nest/issues/184 使用动态 ormconfig.js(而不是 .json)
推荐阅读
- mongodb - 在 MongoDB 的数组中搜索具有特定值的对象
- vba - 在 Mac 上保存 csv 文件时出现 VBA 宏错误
- c# - 如何通过winform c#安装不在chrome webstore中的chrome扩展
- eclipse - 在 Eclipse 插件中添加到 Eclipse 工具栏的下拉列表的动态填充
- autodesk-forge - 控制 Gizmo 大小
- unicode - 需要帮助将 Notion 进度条翻译成 Google 表格
- java - 如何从 assets 文件夹安装 APK 文件?
- angular - Angular6-Angular Mat-pagintor 不工作
- javascript - 更新对象数组的最后一个重复 obj 中的公共值
- asp.net-core - 如何在 .net 核心中使用 NLog 写入命名记录器?