【问题标题】:NestJs : Angular Universal ReferenceError - KeyboardEvent is not definedNestJs:Angular Universal ReferenceError - KeyboardEvent 未定义
【发布时间】:2020-01-19 12:33:03
【问题描述】:

请协助,我创建了一个 Angular 8 项目,然后添加了 @nestjs/ng-universal 以将 nestjs 添加为我的服务器端,一切运行顺利,直到我添加 @ain/bootstrap 我们自己的自定义 ui boostrap 组件然后收到以下错误 @987654324 @,在搜索并遇到Angular Universal ReferenceError - KeyboardEvent is not definedhttps://github.com/Angular-RU/angular-universal-starter/blob/master/server.ts#L11 之后。由于我没有 server.ts 并在 main.server.ts 中添加 global.KeyboardEvent = null ,因此尝试将 domino 实现到 main.server.ts 但仍然得到 ​​p>

    __metadata("design:paramtypes", [KeyboardEvent]),
    ReferenceError: KeyboardEvent is not defined

是在nestjs main.server.ts 文件中实现domino 还是解决ReferenceError: KeyboardEvent is not defined 的方法?我不想删除@ain/bootstrap 只是希望@ain/bootstrap 不影响nestjs。

【问题讨论】:

  • 我认为这个问题,正如它目前所写的那样,没有提供足够的信息来回答它。在这种情况下,您可能需要提供一个小存储库,显示您的项目及其依赖项,可用于重现错误消息。
  • @TylerMumford 为我的问题添加了更多信息,希望对您有所帮助。
  • 我想我现在无法帮助回答这个问题。祝你好运。

标签: angular nestjs angular-universal


【解决方案1】:

看一下Universal Nest,特别是服务器端的app.module.ts文件(服务器目录)。该文件实现了 domino 来处理服务器上的 DOM 对象,正如您应该知道的那样,Angular documentation 中提到的服务器上不存在这些对象。

【讨论】:

  • 谢谢,在我的app.module.ts 中应用const BROWSER_DIR = join(process.cwd(), 'dist/browser'); applyDomino(global, join(BROWSER_DIR, 'index.html')); 之后,我在下面添加了global['KeyboardEvent'] = null;,因为applyDomino() 没有全球事件,这对我有用。
猜你喜欢
  • 1970-01-01
  • 2020-11-12
  • 2020-08-05
  • 2020-02-15
  • 2020-05-28
  • 2021-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多