Node.js 不能将tyform与express一起使用;“连接”;“违约”;找不到

Node.js 不能将tyform与express一起使用;“连接”;“违约”;找不到,node.js,typescript,express,typeorm,express-router,Node.js,Typescript,Express,Typeorm,Express Router,我目前在使用typeOrm时遇到了麻烦,我不知道为什么,但是在我使用typeOrm连接到数据库之前,express正在初始化,因此我遇到了一个错误“未找到连接默认值” 这是密码 Typeorm.config.ts import {Connection, createConnection} from 'typeorm'; export function connectToDb(): Promise<Connection> { return createConnection({

我目前在使用typeOrm时遇到了麻烦,我不知道为什么,但是在我使用typeOrm连接到数据库之前,express正在初始化,因此我遇到了一个错误“未找到连接默认值”

这是密码

Typeorm.config.ts

import {Connection, createConnection} from 'typeorm';

export function connectToDb(): Promise<Connection> {
    return createConnection({
        type: 'postgres',
        url: process.env.TYPEORM_URL,
        synchronize: false,
        logging: true,
        entities: [process.env.TYPEORM_ENTITIES],
        migrations: ["../../migrations/*.ts"],
        cli: {migrationsDir: process.env.TYPEORM_MIGRATIONS_DIR}
    })
}
从'typeorm'导入{Connection,createConnection};
导出函数connectToDb():承诺{
返回createConnection({
类型:“postgres”,
url:process.env.TYPEORM_url,
同步:false,
日志记录:是的,
实体:[process.env.TYPEORM_entities],
迁移:[“../../migrations/*.ts”],
cli:{migrationsDir:process.env.TYPEORM_MIGRATIONS_DIR}
})
}
Room.repository

import {getRepository} from 'typeorm';
import {Room} from '../entities/Room';

const roomRepository = getRepository(Room)

export async function getAllRooms(): Promise<Room[]> {
    return await roomRepository.find()
}
从'typeorm'导入{getRepository};
从“../entities/Room”导入{Room};
const roomRepository=getRepository(房间)
导出异步函数getAllRooms():Promise{
return wait roomRepository.find()
}
这是我的路由器使用的回购协议,这是我的应用程序

import * as express from 'express'
import * as bodyParser from 'body-parser';
import * as PassportJs from './passport';
import cors from 'cors';
import logger from './config/logger';
import "reflect-metadata";
import * as dotenv from 'dotenv';

dotenv.config();

import roomRouter from './routes/room.route';
import {connectToDb} from './config/typeorm.config';
const passport = PassportJs.initPassport();

async function main(): Promise<void> {

    logger.info('connecting to database...')
    await connectToDb()
    logger.info('connected to database')

    const app = express();
    app.use(bodyParser.json());
    app.use(passport.initialize());
    app.use(cors());

    app.use(roomRouter);

    app.listen(3000, () => {
        logger.info(`API is running on port ${3000}`);
    });
}
main().catch(error => {
    logger.error(error)
    process.exit(1)
})


从“express”导入*为express
从“主体解析器”导入*作为主体解析器;
从“/passport”导入*作为PassportJs;
从“cors”进口cors;
从“./config/logger”导入记录器;
导入“反映元数据”;
从“dotenv”导入*作为dotenv;
dotenv.config();
从“./routes/room.route”导入roomRouter;
从“./config/typeorm.config”导入{connectToDb};
const passport=PassportJs.initPassport();
异步函数main():Promise{
logger.info('连接到数据库…')
等待connectToDb()
logger.info('已连接到数据库')
常量app=express();
use(bodyParser.json());
app.use(passport.initialize());
应用程序使用(cors());
应用程序使用(roomRouter);
app.listen(3000,()=>{
info(`API正在端口${3000}`上运行);
});
}
main().catch(错误=>{
logger.error(错误)
进程。退出(1)
})
你能帮我吗


感谢从您共享的代码片段中,我猜
const roomRepository=getRepository(Room)
是在
等待connectToDb()之前被调用的。创建回购需要连接