#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