THREE.WebGLRenderer.NotYetImplemented ~ 服务器端渲染(SSR) Angular Universal + NestJS NotYetImplemented ~ 服务器端渲染(SSR)Angular Universal + NestJS。

问题描述 投票:0回答:1

在我的404页面上,我有一个基于Three.js的动画。这在客户端工作得非常好。然而,当在服务器端使用Angular Universal(基于NestJS的服务器,由Firebase Cloud Functions执行)渲染这个动画时,我在控制台中得到了一堆错误。

>  THREE.WebGLRenderer 107
>  THREE.WebGLRenderer: NotYetImplemented
>  ERROR { Error: Uncaught (in promise): Error: NotYetImplemented
>  Error: NotYetImplemented
>      at HTMLCanvasElement.exports.nyi (C:\users\myuser/myapp\node_modules\domino\lib\utils.js:41:9)
>      at new WebGLRenderer (C:\users\myuser/myapp\node_modules\three\build\three.js:23276:30)
>      at new NotFoundComponent (C:\users\myuser/myapp\functions\index.js:4681:25)
>      at createClass (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:20967:24)
>      at createDirectiveInstance (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:20844:24)
>      at createViewNodes (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:29134:40)
>      at createRootView (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:29048:9)
>      at Object.createProdRootView [as createRootView] (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:29560:16)
>      at ComponentFactory_.create (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:20323:33)
>      at ComponentFactoryBoundToModule.create (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:18067:33)
>      at resolvePromise (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:852:31)
>      at resolvePromise (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:809:17)
>      at C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:913:17
>      at ZoneDelegate.invokeTask (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:423:31)
>      at Object.onInvokeTask (C:\users\myuser/myapp\node_modules\@angular\core\bundles\core.umd.js:25994:37)
>      at ZoneDelegate.invokeTask (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:422:60)
>      at Zone.runTask (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:195:47)
>      at drainMicroTaskQueue (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:601:35)
>      at ZoneTask.invokeTask (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:502:21)
>      at Server.ZoneTask.invoke (C:\users\myuser/myapp\node_modules\zone.js\dist\zone-node.js:487:48)

注意:在 "View Page Source "中,我也看不到这个特定页面的任何渲染文本。我试着在webpack中把这个页面列为白名单,因为我就是用它来捆绑这个页面的,但还是同样的错误。

// Ignore all "node_modules" when making bundle on the server.
config.externals = nodeExternals({
  // The whitelisted ones will be included in the bundle.
  whitelist: [
    /^ng-circle-progress/, // Does works correctly, errors for this were gone.
    /^ng2-tel-input/, // Does works correctly, errors for this were gone.
    /^particles.js/, // Doesn't work correctly, doesn't render on the server, but also doesn't throws any errors. Will submit a separated question for this.
    /^three/ // Doesn't work correctly. Throws errors and doesn't render on the server.
  ]
});
angular three.js nestjs angular-universal server-side-rendering
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.