Node.js 角度9和SSR-未定义窗口

Node.js 角度9和SSR-未定义窗口,node.js,angular,angular-universal,angular9,Node.js,Angular,Angular Universal,Angular9,我正在使用Angular 9和SSR,我在其中一个软件包上得到了错误 const DragEvevent = window.DragEvent ReferenceError: window is not defined 在ngx芯片上 我们已经尝试向节点添加变量: const domino = require('domino'); const fs = require('fs'); const template = fs.readFileSync(join(join(process.cwd(

我正在使用Angular 9和SSR,我在其中一个软件包上得到了错误

const DragEvevent = window.DragEvent

ReferenceError: window is not defined
在ngx芯片上

我们已经尝试向节点添加变量:

const domino = require('domino');
const fs = require('fs');
const template = fs.readFileSync(join(join(process.cwd(), 'dist/emaua-front/browser'), 'index.html')).toString();
console.log(template);
const win = domino.createWindow(template);

// mock
global['window'] = win;
global['document'] = win.document;
global['DOMTokenList'] = win.DOMTokenList;
global['Node'] = win.Node;
global['Text'] = win.Text;
global['HTMLElement'] = win.HTMLElement;
global['navigator'] = win.navigator;
但错误依然存在

更新

After updating all packages I got the error: 
ERROR in multi ./src/assets/css/ripple.min.scss ./src/assets/css/lounge.scss ./src/assets/css/discovery.scss ./src/assets/css/main.scss ./src/styles.scss ./node_modules/roboto-fontface/css/roboto/roboto-fontface.css ./node_modules/material-design-icons/iconfont/material-icons.css ./node_modules/bootstrap/dist/css/bootstrap.min.css ./node_modules/bootstrap/dist/css/bootstrap-theme.min.css ./node_modules/ng-bootstrap-to-bootstrap-3/dist/ng-bootstrap-to-bootstrap-3.min.css ./node_modules/jquery-ui-dist/jquery-ui.min.css ./node_modules/jquery-ui-dist/jquery-ui.theme.min.css ./node_modules/ag-grid-community/dist/styles/ag-grid.css ./node_modules/ag-grid-community/dist/styles/ag-theme-balham.css ./node_modules/slick-carousel/slick/slick.scss ./node_modules/slick-carousel/slick/slick-theme.scss ./src/assets/css/animate.css ./node_modules/cookieconsent/build/cookieconsent.min.css
Module not found: Error: Can't resolve '/Users/vinh/learning/front-end/node_modules/bootstrap/dist/css/bootstrap-theme.min.css' in '/Users/vinh/learning/front-end'
this.debug is not a function
之后,我应用了中所述的修复

我再一次得到了同样的错误,比如:

const DragEvent = window.DragEvent;
                  ^

ReferenceError: window is not defined
在ngx芯片上

更新

我们在ngx芯片中遇到的问题是以前发生过的


有人知道克服这个问题的方法吗?

我升级到Angular 10,服务器上的ngx芯片也有同样的问题

我解决这个问题的方法如下: 一、 可能像许多人一样,在服务器上渲染时并不真正需要此组件。 太懒,无法创建单独的项目以排除此模块。 所以我只是禁用了这个组件

在模板中:

<div *ngIf="isBrowser()">
   <tag-input [(ngModel)]=...  
   </tag-input>
</div>

你能像这样尝试吗?const DragEvevent=(任何窗口)。dragevent你拥有的不应该导致那个错误。哪个模块导致问题?另外,只是检查一下,您是否确保应用程序在添加domino后正确编译,并重新启动node/pm2进程?有时,在我没有调试最新版本的代码时,会发生这种情况…@David我更新了模块,并尝试重新启动流程,但仍然存在相同的问题。
isBrowser() {
  if (window) {
       return true;
  }
  return false;
}