有个天坑般的问题想不通
nestjs下配置数据库typeOrmModule,定义数据库表entities时,正常是一个个数据表文件引入,见5-7行,然后在传入数组(27-31行)
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config'
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
// import { Users } from '../userinfo/entities/users.entity';
// import { Profile } from '../userinfo/entities/profile.entity';
// import { Logs } from '../userinfo/entities/logs.entity';
const path = require('path')
let allEntities2 = [path.resolve(__dirname,'../userinfo/entities/*.entity.js')]
console.log("🚀 ~ file: ormconfig.module.ts:42 ~ allEntities2:", allEntities2)
@Module({
imports: [
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) =>({
type: 'mysql',
host: configService.get('DBHOST'),
port: 3306,
username: 'root',
password: configService.get('DBPWD'),
database: 'xzz222',
entities: allEntities2,
// [ // 定义生成表格
// Users,
// Profile,
// Logs,
// ],
synchronize: true, // 同步本地的schema与数据库
logging: ['error'], //日志记录类型 数据库操作记录
} as TypeOrmModuleOptions ),
}),
]
})
export class OrmConfig {}
因为我的数据表文件都定义在同一目录,所以我希望能自动读取并提取各文件的模块Class,(中途自定义解析提取模块大半天,无效)
然而用第11行的方法,读取文件绝对路径,他明明只是读取了entities文件夹下通配* 的js文件, allEntities2的打印结果是这样的,只是一个路径数组而已
可是在26行传入allEntities2竟然奇迹般的可以正常运行,并且成功读到3张表
??????????求大神解释