angular - 文档未在 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”,错误仍然存在
解决方案
推荐阅读
- visual-studio-code - 当存在多个语言服务器时指定最后的标题
- c# - 从 Excel 导出并逐行导入 Word asp.net mvc
- ifs-erp - 是否可以在 IFS 9 中为非自定义字段设置标签名称?
- powershell - 从 powershell ISE 预制脚本解锁帐户
- python - 'TypeError: 'NoneType' 对象不可下标' 关于列表
- python - 为什么 Python 不在列表中存储 0?
- c - 为什么在带有指针**的函数上使用静态分配的二维表会导致分段错误
- excel - Excel - 如何在两列中搜索日期范围内的日期
- python - 如何在python中的两个数组中获得元素到元素的幂?
- xamarin - 尝试使用 Xamarin 清理解决方案时,Microsoft Visual Studio 正忙