node自动导入文件夹下所有js文件的Class类(二)

185 阅读1分钟

实际开发场景是想自动批量导入js文件下的Class类(暂未成功)

 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')
const fs = require('fs')
  const DirPath = path.resolve(__dirname, '../userinfo/entities/') //获取目录路径
  var filenameArr =  fs.readdirSync(DirPath)  // 获取文件名组成的数组
  let entityFile = filenameArr.filter( (item => item.includes('.js')))  //过滤js结尾的文件
  
  const ttt = async function(){
  
  let allEntities = []
  await  entityFile.forEach( async item => { // 遍历每一项
        let eachPath = path.join(DirPath, item);  // 获取每个文件的真实绝对路径
        let eachEntity =  require(eachPath);   // 获得js 文件内 导出 模块的实体
        // console.log("🚀 ~ file: ormconfig.module.ts:43 ~ eachEntity:", Object.values(eachEntity))
        await  allEntities.push( ...Object.values(eachEntity))
      });
          console.log("🚀 ~ file: ormconfig.module.ts:39 ~ allEntities:", allEntities)
          return allEntities
        }
        
        // ttt()

暂时未成功,,明明已经获得了 需要导入的实体class, 但是调用会报错 可能是commonjs 运行时 冲突 ,, 后续再跟进