window.XMLHttpRequest未定义
我创build了一个node.js应用程序来parsingangular2
的HTML AST和Typescript AST以提取数据。
为此,我需要导入@angular/compiler
,因此需要导入@angular/compiler
@angular/core
,这需要peerDependency
的zone.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';