你如何在NodeJs中使用ZoneJs?

我正在尝试使用Express在NodeJs API中设置一个区域。 我有以下要求…

const Zone = require('zone.js/dist/zone-node.js'); 

和下面的中间件function…

 function setupAuthZone(req, res, next) { return Zone.current.fork({ name: 'api', properties: { id: Math.random() } }).run(() => { next(); }) } 

我通过使用

 app.use(setupAuthZone); 

当我在我的api中调用任何端点时,我会得到“无法读取属性”的“未定义”分支。 区域对象没有任何悬置,当然不是当前的属性。

任何人都可以指出我在NodeJs api中使用ZoneJs的一个非常简单的例子吗? 我想为每个请求创build一个区域,并在该区域中设置一些variables,并在我的一些控制器操作中将其拉出,例如当前通过身份validation的用户。 我想使用它像一个请求上下文。

更新

我已经改变了要求

 require('zone.js/dist/zone-node.js'); 

现在我有一个Zone.current。 虽然我不完全了解属性。 如果我在我的护照中间件中设置了Zone.current.currentUser,我可以将它拉回到其他地方,但我不能进入上面列出的“属性”属性。 我没有看到它在Zone.current。 另外,如果我将setupAuthZone函数更改为

 function setupAuthZone(req, res, next) { return Zone.current.fork({ name: 'api' }) .run(() => { Zone.current.id = Math.random(); next(); }) } 

稍后当我看着Zone.current.id时,我看不到id属性。 根本不在那里。 我可以看到我设置的一些属性,我看不到其他人。