我只是想实现
https://github.com/Reactive-Extensions/RxJS
到我的 Node 项目。
当然,有 npm-package 可用,但我发现它更新较少,模块较少,并且只使用了 min。文件,所以我想使用来自 git 源的 rxjs。
我下载了 RxJS-master 并将目录下的所有文件复制到../myProject/lib/rx/
我明白了
rx.node.js 在这些文件中
var Rx = require('./rx');
require('./rx.aggregates');
require('./rx.binding');
require('./rx.coincidence');
require('./rx.experimental');
require('./rx.joinpatterns');
require('./rx.testing');
require('./rx.time');
module.exports = Rx;
所以,我的 app.js 代码是这样的
var rx = require("./lib/rx/rx.node.js")
function test()
{
var as = new rx.AsyncSubject()
setTimeout(function ()
{
as.onNext("works!")
as.onCompleted()
}, 500)
return as
}
var a = test().subscribe(function (result)
{
console.log("Got result: " + result)
})
这给出了如下错误,
.../rx/lib/rx/rx.binding.js:173
var BehaviorSubject = Rx.BehaviorSubject = (function (_super) {
^
ReferenceError: Rx is not defined
at .../rx/lib/rx/rx.binding.js:173:27
at Observable (.../rx/lib/rx/rx.binding.js:14:26)
at Object.<anonymous> (.../rx/lib/rx/rx.binding.js:18:2)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (.../rx/lib/rx/rx.node.js:3:1)
Process finished with exit code 1
怎么了?
如果我修改 rx.node.js 到
var Rx = require('./rx');
module.exports = Rx;
代码按预期运行,所以显然 require - sub modules 部分运行不正常。
谢谢。
最佳答案
在最新版本中已修复,我使用 this commit 删除了有问题的错误版本
NPM 已相应更新以删除 2.1.1 并替换为未损坏的版本。
关于node.js - 对 node.js 的 Reactive-Extensions/RxJS 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401506/