4

単純に実装したい

https://github.com/Reactive-Extensions/RxJS

私のノードプロジェクトに。

確かに、利用可能な npm-package がありますが、更新が少なく、モジュールが少なく、最小しか使用していないことがわかります。ファイルなので、git ソースから rxjs を使用したいと考えています。

RxJS-master をダウンロードし、Dir の下のファイル全体を ../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セクションがうまく機能しないことは明らかです。


ありがとう。

4

3 に答える 3

4

最新のビルドで修正し、このコミットで問題の悪いビルドを削除しました

それに応じて NPM が更新され、2.1.1 が削除され、壊れていないバージョンに置き換えられました。

于 2013-03-29T21:13:53.297 に答える
0

これは、実行中のビルド (2.1.1 であると想定) に問題があるようです。同じ問題があり、次の npm コマンドで修正されました。

npm remove rx
npm install rx@2.1.0

編集:マスターを使用しているようです。混乱させて申し訳ありません。このソリューションは、2.1.1 を実行している他のユーザーにも有効な場合があります。

于 2013-03-28T14:06:37.163 に答える