Next typeorm ReferenceError: Cannot access ‘Entity’ before initialization
版本
"typeorm": "^0.3.10",
"next": "13.0.3",
提示:stack overflow上有很多种解决方法,但是可能比较久了,时效性不强,我试了几种是没有效果
解决方法
在建立关系的时候,不使用函数的写法,用字符串类型会比较好
文章表
import { Entity, BaseEntity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, OneToMany, ManyToMany } from 'typeorm';
import { Users } from './users'
import { Comment } from './comment'
import { Tag } from './tag'
@Entity({name: 'articles'})
export class Article extends BaseEntity {
@PrimaryGeneratedColumn()
readonly id!: number;
@Column()
title!: string;
@Column()
content!: string;
@Column()
views!: number;
@Column()
create_time!: Date;
@Column()
update_time!: Date;
@Column()
is_delete!: number;
@ManyToOne('User')
@JoinColumn({name: 'user_id'})
user!: User;
@ManyToMany('Tag','articles', {
cascade: true
})
tags!: Tag[]
@OneToMany('Comment', 'article')
comments!: Comment[]
}
评论表
import {Entity,PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn,Relation} from "typeorm"
import { Users } from './users';
import { Article } from './article';
@Entity({name:'comments'})
export class Comment {
@PrimaryGeneratedColumn()
readonly id!:number;
@Column()
content!:string;
@Column()
create_time!:Date
@Column()
update_time!:Date
@ManyToOne('Users')
@JoinColumn({name:'user_id'})
user!:Users
@ManyToOne('Article','comments')
@JoinColumn({name:'article_id'})
article!:Article
}