Node.js 不能将tyform与express一起使用;“连接”;“违约”;找不到
我目前在使用typeOrm时遇到了麻烦,我不知道为什么,但是在我使用typeOrm连接到数据库之前,express正在初始化,因此我遇到了一个错误“未找到连接默认值” 这是密码 Typeorm.config.tsNode.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({
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()之前被调用的。创建回购需要连接