首页 > 解决方案 > 文档未在 Angular Universal 上定义,更改不会被保存

问题描述

我已经在这里寻找答案,但我还不能让它工作。

运行“node dist/server.js”时收到以下错误消息

ReferenceError: document is not defined
at new BrowserPlatform (C:\cmder\Project\dist\server.js:164638:25)
at Object.<anonymous> (C:\cmder\Project\dist\server.js:164682:29)
at __webpack_require__ (C:\cmder\Project\dist\server.js:20:30)
at Object.<anonymous> (C:\cmder\Project\dist\server.js:136679:77)
at __webpack_require__ (C:\cmder\Project\dist\server.js:20:30)
at Object.firebase (C:\cmder\Project\dist\server.js:123364:18)
at __webpack_require__ (C:\cmder\Project\dist\server.js:120467:30)
at Object../src/app/app.component.ts (C:\cmder\Project\dist\server.js:120652:16)
at __webpack_require__ (C:\cmder\Project\dist\server.js:120467:30)
at Object../src/app/app.server.module.ngfactory.js (C:\cmder\Project\dist\server.js:120708:10)

我读过在这种情况下我应该在文档(和窗口)周围放置一个 if 语句。我在 dist/server.js 文件中所做的:

var BrowserPlatform = /** @class */ (function () {
function BrowserPlatform() {
    this.emptyByteString = '';
    if(document) {this.document = document;}
    if(window) {this.window = window;}
    this.base64Available = typeof atob !== 'undefined';
}

现在,当我运行“npm run webpack:server”时,这些更改会被删除,所以我在这里的原始文件只有“this.document = document;” 依此类推,一旦我进入“node dist/server.js”,错误仍然存​​在

标签: angularuniversal

解决方案


推荐阅读