【发布时间】:2021-12-03 22:34:23
【问题描述】:
现在我遇到了问题。当我添加多对多关系时,它不起作用。但之前是一对多的关系。
- error import "reflect-metadata" 不能在模块外使用 import 语句
- error ReferenceError:exports is not defined in ES module scope
user.entity.ts
@Entity({ name: 'users' })
export class User implements IUser {
@PrimaryGeneratedColumn()
id: string;
@Column({ length: 25, nullable: true })
name: string;
@Column({ unique: true, length: 255 })
email: string;
@OneToMany(() => Message, (message) => message.user)
messages?: Message[];
@ManyToMany(() => Conversation, (conversations) => conversations.users)
@JoinTable({
name: 'user_conversation',
joinColumn: { name: 'user_id', referencedColumnName: 'id' },
inverseJoinColumn: { name: 'conversation_id' },
})
conversations: Conversation[];
}
在文件 conversation.entity.ts
中@Entity({ name: 'conversations' })
export class Conversation implements IConversation {
@PrimaryGeneratedColumn()
id: string;
@Column({ name: 'title', nullable: true })
title: string;
@ManyToMany(() => User, (users) => users.conversations)
@JoinTable({
name: 'user_conversation',
joinColumn: { name: 'conversation_id', referencedColumnName: 'id' },
inverseJoinColumn: { name: 'user_id' },
})
users: User[];
}
我的错误:
import "reflect-metadata";
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1001:16) ....
当我将 "type": "module" 添加到 package.json 时出现错误
ReferenceError: exports is not defined in ES module scope
This file is being treated as an ES module because it has a '.js' file extension and ....
我尝试了很多方法,但都无法解决,请帮助我。
【问题讨论】:
-
我敢打赌,这来自于
@JoinTablefromtypeorm/browseras seen in your Pull Request的使用 -
它工作正常,谢谢
标签: javascript node.js nestjs typeorm