2016-04-19 14 views
0

私は、プレーンなJavascriptクラスをNode.jsに移動しています。プレーンなJavascriptでは、私は以下を使用します:Node.jsのクラスを拡張するための簡単な方法

class BlockMosaicStreamer extends MosaicStreamer{ 
} 

これをNode.jsに実装する簡単な方法はありません。 BlockMosaicStreamer.jsの私のノードプロジェクトで私が持っている:

'use strict'; 
function BlockMosaicStreamer(){ 
} 

は、どのように私は./MosaicStreamer.jsであるMosaicStreamerを拡張するのでしょうか?

'use strict'; 
function MosaicStreamer(){ 
} 
+0

を[ 'util.inherits'](HTTPS ://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor) – Bergi

+0

@Bergi少し詳しく説明できますか?私は 'util'を追加する必要があり、' util.inherits(BlockMosaicStreamer、MosaicStreamer) 'で目的の機能を得るでしょうか? –

+0

はい、 'MosaicStreamer.call(this、...)' "super"呼び出しを 'BlockMosaicStreamer'コンストラクタに入れてください。 – Bergi

答えて

3

それは私がこのような何か使用することをお勧め、あなたが最初のクラスを定義した方法によって異なります。

class SomeClass { 
} 

module.exports = SomeClass 

その後、あなたの拡張で:

const SomeClass = require('./dir/file.js') 

class MyNewClass extends SomeClass { 
} 

module.exports = MyNewClass 
+0

しかし、私のクラスは質問に示されているように定義されています。ノードで 'class'を使うと、多くの問題が発生します。 –

+0

@tibsar:次に、トランスバータを使います。今日ES6の使用を止めるものは何もないはずです。 – Bergi

+0

@tibsar、node.jsを更新することができます。私は5.9.1を使用しています。 –

関連する問題