Я выполняю следующую команду в инструменте командной строки angular cli,
установить универсальный пакет для angular6
'ng add @ ng-toolkit / universal'.
Он хорошо установлен, после этого я запускаю npm run build: prod, и он также работает очень хорошо.
Теперь, наконец, я запускаю 'npm run server'. Но это выдает ошибку, не давая мне запустить URL.
здесь выдает ошибку в файле server.js, как это исправить.
ReferenceError: window is not defined
at Object.exports.__esModule (D:\ANGULAR2\dist\server.js:122614:14)
at __webpack_require__ (D:\ANGULAR2\dist\server.js:122314:31)
at Object.exports.__esModule (D:\ANGULAR2\dist\server.js:122359:19)
at __webpack_require__ (D:\ANGULAR2\dist\server.js:122314:31)
at Object.exports.__esModule (D:\ANGULAR2\dist\server.js:122343:21)
at __webpack_require__ (D:\ANGULAR2\dist\server.js:122314:31)
at D:\ANGULAR2\dist\server.js:122334:19
at D:\ANGULAR2\dist\server.js:122337:11
at webpackUniversalModuleDefinition (D:\ANGULAR2\dist\server.js:122292:21)
at Object.exports.__esModule (D:\ANGULAR2\dist\server.js:122294:4)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! rssmtechwood@0.0.0 serverrl `node local.js`
npm ERR! Exit status 1
В качестве обходного пути я заменяю окно глобальным.
var work = global.document.createElement ('div');
но окно, элемент документа используется во многих местах server.js
function(module, exports)
{
'use strict';
exports.__esModule = true;
var tagSoup = false;
var selfClose = false;
var work = window.document.createElement('div');
}
function isBrowser()
{
return (typeof window !== 'undefined' && typeof window.document !== 'undefined');
}
Я ожидаю, что window.document, window будет заменен синтаксисом nodejs для приведенного выше примера кода.