小编Mik*_*ike的帖子

TypeScript 错误:“类型‘number’无法分配给类型‘0 | 1 | 2’”。为什么我会收到此错误?

我收到一个奇怪的 TypeScript 错误。

我有以下示例:

interface Foo {
  prop: 0 | 1 | 2;
}

class Bar implements Foo {
  prop = 1;
}

Run Code Online (Sandbox Code Playgroud)

我收到错误:

src/example.ts:6:3 - error TS2416: Property 'prop' in type 'Bar' is not assignable to the same property in base type 'Foo'.
  Type 'number' is not assignable to type '0 | 1 | 2'.

6   prop = 1;
    ~~~~
Run Code Online (Sandbox Code Playgroud)

为什么这段代码会给出错误?

javascript typescript

7
推荐指数
2
解决办法
6766
查看次数

为 Node.js 选择 ORM 有多难?或者 Node.js 缺乏成熟的 ORM

我有一个生产项目要开发。这是一个电子商务网站。我目前的堆栈:

  1. 节点.js
  2. 打字稿
  3. PostgreSQL

现在我必须为这个项目选择一个 ORM。我想我有两个选择:

  1. 类型ORM。我以前用过这个 ORM。这是一款不错的稳定软件,但 TypeORM 的维护问题已经有一段时间了。我不确定这个 ORM 的未来。
  2. 米克罗ORM。TypeORM 缺少一些有用的功能,如 @Filters(范围)和批量订阅者,而另一方面 MikroORM 具有这些功能或替代品(请参阅过滤器批量订阅者的替代品)。但 MikroORM 不那么受欢迎,而且相对较新。而且 MikroORM 的许多功能仍处于alpha 阶段

概括

缺乏维护和功能但稳定的 ORM 或具有良好维护和新功能但未经实战测试的 ORM。哪个选项更好?或者也许有一些替代方案?

orm node.js typeorm mikro-orm

7
推荐指数
2
解决办法
3605
查看次数

Nest.js:如何覆盖导入模块中的提供者?

代码示例

第三方库
@Module({
    providers: [AService]
    exports: [AService]
})
export class AModule {
}

@Module({
    imports: [AModule],
    providers: [BService]
    exports: [BService]
})
export class BModule {
}
Run Code Online (Sandbox Code Playgroud) 我的代码
@Module({
    imports: [BModule],
    providers: [CService]
})
export class CModule {
}
Run Code Online (Sandbox Code Playgroud)

如何AService从我的代码覆盖/替换提供程序?(没有第三方库补丁)

javascript dependency-injection node.js nestjs

6
推荐指数
1
解决办法
1996
查看次数

新增加的微服务如何实现数据一致性?

例如,我们有带有事件溯源的微服务。为了实现数据一致性,我们使用以下方法:

  1. 微服务生成事件
  2. 事件存储在事件存储中
  3. 事件发布到订阅的微服务

这种方法适用于已在使用的微服务。但是,如果我需要部署另一个需要与事件存储同步数据的微服务怎么办?显然,这个新的微服务错过了所有已发布的事件。

这个新的微服务是否应该自行从事件存储中提取事件?

architecture data-consistency event-sourcing microservices

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

我可以在不购买域名的情况下为我的 Google Cloud Storage 设置 MainPageSuffix 吗?

Google Cloud 文档说我只能在验证我的域后为我的存储桶设置 MainPageSuffix。但是我不需要域,我只需要将 MainPageSuffix 设置为 index.html。

如何在不购买域名的情况下做到这一点?

web-hosting google-cloud-storage google-cloud-platform

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

如何在 TypeScript 中使装饰器类型安全?

例子:

class Parent {
  parentMethod() {
    // ...
  }
}

@Hooks({
  // Only methods from the `Child` class (including inherited methods) must be allowed here
  childMethod: [/* ... */],
  parentMethod: [/* ... */]
})
class Child extends Parent {
  childMethod() {
    // ...
  }
}
Run Code Online (Sandbox Code Playgroud)

所述@Hooks()装饰接受一个对象作为参数。在这个对象中,键是Child类中的方法名称。如何使@Hooks()装饰器类型安全?你能提供一个带有类型的代码示例@Hooks()吗?

types decorator typescript

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