node.js - 如何配置 TypeORM ormconfig.json 文件以解析 js dist 文件夹或 ts src 文件夹中的实体?
问题描述
我将我的 TypeORM 配置实体路径设置为:
"entities": ["src/entities/**/*.ts"]
这在我使用 ts-node 时效果很好。ts-node src/main.ts
使用 编译打字稿后tsc
,我得到了一个dist
包含已编译应用程序的文件夹:
但是,typeORM 仍然尝试从src
文件夹中获取实体,而不是dist
. 在解析 TS 文件而不是 JS 时会抛出很多意外的语法错误。所以我将休闲字符串更改为实体配置:
"entities": ["dist/entities/**/*.js"]
它适用于节点node dist/main.js
,但不适用于ts-node src/main.ts
如何配置为ormconfig.json
能够同时使用(node
文件dist
夹和文件夹)?ts-node
src
解决方案
我建议使用 anormconfig.js
而不是 JSON 版本,并使用环境变量或类似的变量在两个配置之间切换。例如; 类似于以下精简示例。
const srcConfig = {
"entities": [
"src/entities/**/*.ts"
],
}
const distConfig = {
"entities": [
"dist/entities/**/*.js"
],
}
module.exports = process.env.TS_NODE ? srcConfig : distConfig;
请注意,您需要在TS_NODE
某处设置环境变量;我确实注意到有一个尚未合并的 PR 可以做到这一点。
推荐阅读
- batch-file - 如何将一个字符串批量拆分为多个不同的变量
- java - 连接字符串中的 Spring Profiles
- python - 如何更改 Altair boxplot 信息框以显示平均值而不是中位数?
- spring-boot - 仅当存在 @EnableScheduling 时才制作 bean
- java - 我如何创造一个条件,可以结合计划中的上述计划,并添加他们的价格?
- sql - 带有 if-else 逻辑的 SQL 查询
- arrays - Swift 5 - 显示带有对象数组的嵌套 JSON
- react-native - 导入其他文件时出现反应本机错误
- python - Python 中的一切都是对象,并且每个对象都实现为字典,这是真的吗?甚至是内置类型?
- firebase - Fetch collection startAfter documentID