window.XMLHttpRequest undefined

时间:2016-10-13 08:09:02

标签: node.js angular

我创建了一个node.js应用来解析angular2的HTML AST和Typescript AST,以便提取数据。

要执行此操作,我需要导入@angular/compiler,然后导入@angular/core,这需要peerDependency zone.js@^0.6.21

问题是在加载时node.js应用程序似乎有点破坏了z​​one.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,仍然是完全相同的错误。

1 个答案:

答案 0 :(得分:0)

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

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