javascript - 通过 config.json 文件注册时,导入语句会破坏 typeorm 实体
问题描述
根据官方文档,我创建了小型 koa/typeorm/postgres 应用程序。当我使用createConnection
配置时,在同一个文件中导入实体,应用程序工作正常,但 typeorm cli 找不到配置文件,所以我尝试将配置移动到“ormconfig.json”。现在我得到这个错误:
SyntaxError: Cannot use import statement outside a module
看起来 typeorm 似乎无法使用 es6 功能。
我的ormconfig.json
:
{
"type": "postgres",
"host": "localhost",
"port": 5432,
"username": ****,
"password": ****,
"database": ****,
"synchronize": true,
"entities": ["src/entity/**/*.ts"],
"migrations": ["src/migration/**/*.ts"],
"subscribers": ["src/subscriber/**/*.ts"],
"cli": {
"entitiesDir": "src/entity",
"migrationsDir": "src/migration",
"subscribersDir": "src/subscriber"
}
}
我的tsconfig.json
:
{
"compilerOptions": {
"lib": ["es5", "es6"],
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./dist",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
},
"exclude": ["node_modules"]
}
有错误的文件:
import {
BaseEntity,
Column,
Entity,
PrimaryGeneratedColumn,
CreateDateColumn,
ManyToOne
} from 'typeorm';
import { IsIn, IsPositive, IsNotEmpty } from 'class-validator';
import { LOAN_TYPE } from '../consts';
import { User } from './user';
@Entity('loans')
export class Loan extends BaseEntity {
@PrimaryGeneratedColumn()
public id: number;
@CreateDateColumn({ type: 'timestamp' })
public createdAt: Date;
@Column()
@IsNotEmpty()
@IsPositive()
public amount: number;
@Column({ type: 'enum', enum: LOAN_TYPE })
@IsNotEmpty()
@IsIn(Object.values(LOAN_TYPE))
public type: LOAN_TYPE;
@Column({ default: false })
public approvalStatus: boolean;
@ManyToOne(type => User, user => user.loans)
@IsNotEmpty()
public user: User;
}
export default Loan;
解决方案
- 确保你
"module": "commonjs"
有"compilerOptions"
tsconfig.json
- 使用 ts-node 运行 typeorm cli:
ts-node ./node_modules/typeorm/cli.js
推荐阅读
- javascript - 如何使用 XHR 响应填充 jQuery DataTable
- php - 对 ASP 的 cURL php 请求
- javascript - 如何取消选择单选按钮?
- python - 类型错误:“生成器”对象在 python 中不可下标
- google-maps - 谷歌地图:无法读取未定义的属性“setDirections”
- r - 在 csv 文件中,月加年 R 的格式需要在 ggplot2 的 x 轴上显示
- haskell - Haskell 中是否有标准的不可变“Map”(例如 Data.Map、Data.HashMap)类型类?
- reactjs - 地图功能似乎无法内联渲染组件
- r - 更改 aes 映射的配色方案 (ggplot2)
- java - Java 应用程序:序列工作流模式