Не могу запустить SSR с редактором Ace на Angular 6. Я боюсь, что там мне нужна оболочка для SSR, но в Ace lib, который используется AceEditorModule, уже существуют некоторые условия для существования window.ace или нет, ноон не работает должным образом.
- "ng2-ace-editor": "^ 0.3.8"
- Угловой 6.0.7
любые идеи, какчтобы это исправить?
npm run start:ssr
> my-project@0.0.0 start:ssr I:\FRONTEND\Projects\Github\my-project - UNEXPECTED ERRORS
> node dist/server.js
I:\FRONTEND\Projects\Github\my-project - UNEXPECTED ERRORS\dist\server.js:254298
if (!window.ace)
^
ReferenceError: window is not defined
at I:\FRONTEND\Projects\Github\my-project - UNEXPECTED ERRORS\dist\server.js:254298:21
at _acequire (I:\FRONTEND\Projects\Github\my-project - UNEXPECTED ERRORS\dist\server.js:235317:37)
at Object.acequire (I:\FRONTEND\Projects\Github\my-project - UNEXPECTED ERRORS\dist\server.js:235322:26)
IIFE, которые выдают эту ошибку и пытаются обработать объект окна с помощью ace lib внутри: node_modules/ace-builds/src/ace.js
(function() {
window.require(["ace/ace"], function(a) {
if (a) {
a.config.init(true);
a.define = window.define;
}
if (!window.ace)
window.ace = a;
for (var key in a) if (a.hasOwnProperty(key))
window.ace[key] = a[key];
window.ace["default"] = window.ace;
if (typeof module == "object" && typeof exports == "object" && module){
module.exports = window.ace;
}
});
})();
также использование пакета npm brace
как зависимость, и в этом также мы видим этот код, но он немного отличается.И я не знаю, как проверить, какой из кода lib выдает эту ошибку.node_modules/brace/index.js
:
(function() {
ace.acequire(["ace/ace"], function(a) {
if (a) {
a.config.init(true);
a.define = ace.define;
}
if (!window.ace)
window.ace = a;
for (var key in a) if (a.hasOwnProperty(key))
window.ace[key] = a[key];
});
})();