window.XMLHttpRequest未定义

我创build了一个node.js应用程序来parsingangular2的HTML AST和Typescript AST以提取数据。

为此,我需要导入@angular/compiler ,因此需要导入@angular/compiler @angular/core ,这需要peerDependencyzone.js@^0.6.21

问题是zone.js在加载的时候似乎与node.js应用程序有点分离:

 <my-project>/node_modules/zone.js/dist/zone.js:1286 var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) { ^ TypeError: Cannot read property 'prototype' of undefined at patchXHR (<my-project>/node_modules/zone.js/dist/zone.js:1286:55) at <my-project>/node_modules/zone.js/dist/zone.js:1253:1 at Zone.Zone.zoneSpec._properties (<my-project>/node_modules/zone.js/dist/zone.js:9:68) at Object.<anonymous> (<my-project>/node_modules/zone.js/dist/zone.js:12:2) at Module._compile (module.js:541:32) at Object.Module._extensions..js (module.js:550:10) at Module.load (module.js:458:32) at tryModuleLoad (module.js:417:12) at Function.Module._load (module.js:409:3) at Module.require (module.js:468:17) 

在升级到angular2 final之前,我使用了angular 2.0.0-rc.1 ,它需要zone.js@ ^0.6.6 ,它工作正常。

已经尝试过了

  • 删除zone.js ,但不可能,因为它打破了代码。
  • 更新到zone.js@0.6.25 ,仍然是一样的确切的错误。

检查您是否导入zone-node不是zone

 import 'zone.js/dist/zone-node';