hackycy / egg-typeorm

🔥 TypeORM plugin for Egg.js
MIT License
13 stars 5 forks source link

修复只有在prod环境下,加载entity下*.js文件的问题 #6

Closed javaswing closed 3 years ago

javaswing commented 3 years ago

修复只有在prod环境下,加载entity下*.js文件的问题。

hackycy commented 3 years ago

@javaSwing 只有在生产环境才会加载js,单元测试环境、开发环境都是加载TS文件的,测试了你的pr,example无法通过单元测试。 另外,(#5) 跟你提及的issue有关,3.x.x版本就是单纯只判断了local环境,没有判断单测环境所以一直会提示报错。

javaswing commented 3 years ago

产环境才会加载js,单

比如有一个环境是staging,发布到线上,这个插件就会直接读取.ts文件的entity。只有把egg的环境变量设置为prod才可以正常读取.js的entity。简单的说就是不支持多环境发布。后面我把对应的单元测试补上

hackycy commented 3 years ago

嗯,这个也是问题,不过可以加些配置来支持多环境发布。之前有些思路但是一直没补。

javaswing commented 3 years ago

@hackycy 这个问题本质上就是一个加载策略问题,你可以完全不用根据环境判断。做到优先加载js文件,如果不存在再加载ts文件。毕竟eggjs的线上,走的是js的执行环境!

hackycy commented 3 years ago

嗯,但是对比实现起来配置文件的方式更好实现些

hackycy commented 3 years ago

@javaSwing 新版已适配,通过egg的配置文件方式来自定义。有更优的方式可以再提交pr呀。

hackycy commented 3 years ago

有需要可以使用Midway更好,官方本身支持TypeORM,现在项目也基本迁移到Midway了。