相关疑难解决方法(0)

如何修复这个ES6模块循环依赖?

编辑:有关更多背景,请参阅ES讨论的讨论.


我有三个模块A,BC.AB导入从模块的默认出口C和模块C导入的默认从两个AB.但是,模块C不依赖于从模块评估期间AB模块评估期间导入的值,仅在运行时在评估所有三个模块之后的某个时间点.模块AB 依赖于进口值C的模块评估期间.

代码看起来像这样:

// --- Module A

import C from 'C'

class A extends C {
    // ...
}

export {A as default}
Run Code Online (Sandbox Code Playgroud)

.

// --- Module B

import C from 'C'

class B extends C {
    // ...
}

export {B as default}
Run Code Online (Sandbox Code Playgroud)

.

// --- …
Run Code Online (Sandbox Code Playgroud)

javascript module es6-module-loader

35
推荐指数
3
解决办法
7868
查看次数

匿名类实例----这是个坏主意吗?

在ES6中我们可以做匿名类:

var entity = class {
}
Run Code Online (Sandbox Code Playgroud)

但我们也可以实例化它:

var entity = new class {
    constructor(name) { this.name = name; }
    getName() { return this.name; }
}('Foo');
console.log(entity.getName()); // Foo
Run Code Online (Sandbox Code Playgroud)

背后做了什么,它带来了什么好处以及它带来了什么警告?

javascript oop anonymous-function javascript-objects ecmascript-6

24
推荐指数
2
解决办法
1万
查看次数

检测到依赖循环.eslint 与 typeorm

我有两个一对一双向的实体类型:

部门:

@Entity('Departament')
export default class Departament {
  @PrimaryGeneratedColumn()
  id: string;

  @Column()
  departament_name: string;

  @OneToOne(type => User, user => user.departament)
  @JoinColumn()
  user: User;

  @CreateDateColumn({ name: 'created_at' })
  createdAt: Date;

  @UpdateDateColumn({ name: 'updated_at' })
  UpdatedAt: Date;
}
Run Code Online (Sandbox Code Playgroud)

用户:

@Entity('User')
export default class User {
  @PrimaryGeneratedColumn()
  id: string;

  @Column()
  name: string;

  @Column()
  last_name: string;

  @Column()
  email: string;

  @Column()
  login: string;

  @Column()
  password: string;

  @OneToOne(type => Departament, departament => departament.user)
  departament: Departament;
}
Run Code Online (Sandbox Code Playgroud)

这些是我的.eslintrc设置:

{
  "env": {
    "es6": true,
    "node": true, …
Run Code Online (Sandbox Code Playgroud)

typescript typeorm

5
推荐指数
1
解决办法
8552
查看次数