【问题标题】:window.XMLHttpRequest undefinedwindow.XMLHttpRequest 未定义
【发布时间】:2017-02-22 06:09:09
【问题描述】:

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

为此,我需要导入@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,还是一样的错误。

【问题讨论】:

    标签: node.js angular


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-07-15
      • 1970-01-01
      • 2013-04-14
      • 2010-10-21
      • 2016-09-17
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多