Angular13SSR构建服务错误--ERRORReferenceError:documentisnotdefined
创始人
2024-10-22 00:31:33
0

这个错误通常是因为Angular在服务端渲染期间尝试了在没有DOM环境的情况下访问document变量。通常情况下,这个错误可以通过在适当的位置使用适当的逻辑来避免或解决。以下是几种实现的方法:

  1. 使用angular platform-browser模块中的DOCUMENT提供器将文档引入。

import { PLATFORM_ID, APP_ID, Inject, NgModule } from '@angular/core'; import { isPlatformBrowser } from '@angular/common'; import { BrowserModule, ɵDOMSharedStylesHost } from '@angular/platform-browser';

@NgModule({ imports: [BrowserModule], providers: [ɵDOMSharedStylesHost, { provide: APP_ID, useValue: 'app' }, { provide: PLATFORM_ID, useFactory: getPlatformId, deps: [ɵDOMSharedStylesHost] }, { provide: 'canUseDOM', useFactory: () => !!window, }, { provide: DOCUMENT, useFactory: (domService: ɵDOMSharedStylesHost, platformId: Object) => { if (isPlatformBrowser(platformId)) { return document; } else { return domService.getDocument(); } }, deps: [ɵDOMSharedStylesHost, PLATFORM_ID], }, ], bootstrap: [AppComponent], declarations: [AppComponent], }) export class AppModule {}

  1. 在服务端渲染期间避免访问DOM环境的代码。如需要在客户端渲染环境下的代码,最好将其分离并在x-server.ts的server.initialize函数中定义。

if (isPlatformBrowser(this.platformId)) { // 在这里放在运行期间需要在客户端环境下运行的代码。 }

  1. 在服务端渲染期间使用mock文档代替真实文档。

import { PLATFORM_ID, APP_ID, Inject, NgModule } from '@angular/core'; import { isPlatformBrowser }

相关内容

热门资讯

据悉!wepoker黑侠破解(... 据悉!wepoker黑侠破解(透视)芒果辅助器安卓版(竟然存在有辅助辅助器)-哔哩哔哩小薇(辅助器软...
经调查!pokermaster... 经调查!pokermaster修改器(透视)黑桃a3哟西破解版(切实是有辅助神器)-哔哩哔哩1、黑桃...
透视了解!xpoker怎么作必... 透视了解!xpoker怎么作必弊(透视)海豹3+1辅助器(好像真的是有辅助平台)-哔哩哔哩1、首先打...
随着!aapoker透视插件(... 随着!aapoker透视插件(透视)兴动助手脚本(竟然真的有辅助app)-哔哩哔哩随着!aapoke...
目前来看!约局吧辅助器(透视)... 目前来看!约局吧辅助器(透视)传送屋高仿版激k辅助(切实有辅助下载)-哔哩哔哩;在进入传送屋高仿版激...
透视科技!wepoker怎么设... 透视科技!wepoker怎么设置盖牌(透视)微乐家乡游戏攻略(确实真的是有辅助安装)-哔哩哔哩1、下...
记者获悉!德普之星辅助软件(透... 记者获悉!德普之星辅助软件(透视)边锋辅助装备(好像真的是有辅助辅助器)-哔哩哔哩1、首先打开边锋辅...
有了最新消息!德普之星怎么设置... 有了最新消息!德普之星怎么设置埋牌(透视)菠萝神辅助器app(都是真的有辅助平台)-哔哩哔哩1、金币...
透视教程!pokermaste... 透视教程!pokermaster辅助器(透视)拱趴大菠萝辅助工具下载(其实真的有辅助工具)-哔哩哔哩...
透视软件!wepokerplu... 透视软件!wepokerplus万能挂(透视)约战沙城挂机辅助(一直是有辅助工具)-哔哩哔哩约战沙城...