角度6 |服务器端渲染:发出“未定义窗口”

时间:2018-09-18 17:22:44

标签: angular angular6 serverside-rendering ssr angular-seo

我已经将我的应用程序从Angular版本5更新到了最新版本。详细信息:

  Angular CLI: 6.2.1
  Node: 8.12.0
  OS: win32 x64
  Angular: 6.1.6

我也在使用this: ng-toolkit-universal 实现服务器端渲染。我能够使用命令“ npm run build:prod ”构建应用程序,但是在运行命令:“ n pm run server ”时遇到以下问题:

enter image description here

任何人都可以帮忙或提出一些建议。

谢谢!

1 个答案:

答案 0 :(得分:2)

假设您已经完成了通用角度的SSR。导入后,将以下代码放入server.ts中。构建并运行。

const domino = require("domino");
const fs = require("fs");
const path = require("path");
const templateA = fs
  .readFileSync(path.join("dist/browser", "index.html"))
  .toString();
const win = domino.createWindow(templateA);
win.Object = Object;
win.Math = Math;

global["window"] = win;
global["document"] = win.document;
global["branch"] = null;
global["object"] = win.object;
global['HTMLElement'] = win.HTMLElement;
global['navigator'] = win.navigator;
global['localStorage'] = localStorage;