这可能是原因,因为您
window直接在代码中的某处引用。这不是最佳实践!有时,(服务器端)未定义窗口对象并导致此问题。如果第三方库使用该库,则相同。
因此,请首先检查您的代码,找到直接在其中使用window的位置,然后将PLATFORMID包裹在该示例中:
import { PLATFORM_ID } from '@angular/core'; import { isPlatformBrowser, isPlatformServer } from '@angular/common'; constructor(@Inject(PLATFORM_ID) private platformId: Object) { ... } ngonInit() { if (isPlatformBrowser(this.platformId)) { // Client only pre. ... } if (isPlatformServer(this.platformId)) { // Server only pre. ... } }或者,如果找不到,则可能是库仍在使用它。在github上检查此问题,它将比我更好地解释问题:
https://github.com/webpack/react-
starter/issues/37
希望这对您有帮助=)
PS:当我必须实现服务器端渲染时,同样的问题。我
window在代码中使用了“
随处可见”。从那一刻起,当我不得不使用它时,我总是会找到另一种方法来做同样的事情。
您也可以尝试将
target: "web"webpack.config.js 放入其中
提出问题的人的编辑
另请参见github上的此问题,它提供了此问题的解决方案:https
:
//github.com/webpack/webpack/issues/7112



