我将 TypeORM 配置实体路径设置为:
"entities": ["src/entities/**/*.ts"]
Run Code Online (Sandbox Code Playgroud)
当我使用 ts-node 时,这很有效。 ts-node src/main.ts
使用编译打字稿后tsc,我得到了一个dist包含已编译应用程序的文件夹:
但是,typeORM 仍然尝试从src文件夹而不是dist. 在解析 TS 文件而不是 JS 时抛出很多意外的语法错误。所以我将空闲字符串更改为实体配置:
"entities": ["dist/entities/**/*.js"]
Run Code Online (Sandbox Code Playgroud)
它适用于节点,node dist/main.js但不适用于ts-node src/main.ts
如何配置ormconfig.json才能够与工作两者(node在dist文件夹,ts-node在src文件夹中)?
loc*_*ock 14
我建议使用 anormconfig.js而不是 JSON 版本并使用环境变量或类似的来在两个配置之间切换。例如; 类似于以下精简示例。
const srcConfig = {
"entities": [
"src/entities/**/*.ts"
],
}
const distConfig = {
"entities": [
"dist/entities/**/*.js"
],
}
module.exports = process.env.TS_NODE ? srcConfig : distConfig;
Run Code Online (Sandbox Code Playgroud)
请注意,您需要在TS_NODE某处设置env var;我确实注意到有一个尚未合并的 PR可以做到这一点。
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |