Окно SSR Angular 7 не определено

#angular7 #server-side-rendering

#angular7 #рендеринг на стороне сервера

Вопрос:

У меня проблема с окном рендеринга на стороне сервера Angular 7 SSR, и документ не найден на сайте сервера. При запуске npm run build:ssr amp;amp; npm run serve:ssr терминал, показывающий ошибку ссылки, выглядит следующим образом ReferenceError: window is not defined

 ngOnInit() {
    window.scrollTo(0, 0);
}
  

Ответ №1:

запись в server.ts

 / ssr DOM
const domino = require('domino');
const fs = require('fs');
const path = require('path');
// index from browser build!
const template = fs.readFileSync(path.join(__dirname, '.', 'dist', 'index.html')).toString();
// for mock global window by domino
const win = domino.createWindow(template);
// from server build
const files = fs.readdirSync(`${process.cwd()}/dist-server`);
// mock
global['window'] = win;
  

подробнее на https://github.com/Angular-RU/angular-universal-starter/blob/master/server.ts