gpt4 book ai didi

javascript - angular4 文档和窗口未定义

转载 作者:可可西里 更新时间:2023-11-01 01:23:28 25 4
gpt4 key购买 nike

我正在使用带有 angular 4 和 webpack 配置的 dot net core。

当我尝试获取组件或服务中的窗口或文档时,出现此错误:

ReferenceError: document is not defined

ReferenceError: window is not defined

这是我遇到的错误:

Microsoft.AspNetCore.NodeServices[0]
ERROR { ReferenceError: window is not defined
at _window (C:\gitRepose\AngularCore\FM\FMWebApp\FootballWebApp\ClientApp\dist\main-server.js:30801:12)

Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
An unhandled exception has occurred: window is not defined
ReferenceError: window is not defined
at _window (C:\gitRepose\AngularCore\FM\FMWebApp\FootballWebApp\ClientApp\dist\main-server.js:30801:12)

我对 webpack 还是个新手,有人知道我该如何解决这个问题吗?我需要窗口在调整窗口大小时进行处理。

编辑...

我设法通过从 index.cshtml 中删除预渲染来修复此问题

我把它改成了:

<app asp-prerender-module="ClientApp/dist/main-server">Loading...</app>

为此:

<app>Loading...</app>

但现在显然不会在服务器端进行预渲染:/因此它会减慢应用程序的启动时间,有什么想法可以在不丢失服务器端预渲染的情况下解决这个问题吗?

最佳答案

如果您正在使用服务器端渲染,您应该使用 windowdocument 删除所有在节点中运行的代码,因为节点没有这些变量(节点只有 global)。

如果你还想在节点环境中使用windowdocument,你可以尝试使用jsdom(https://github.com/tmpvar/jsdom)。

关于javascript - angular4 文档和窗口未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46340374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com