2016-05-15 13 views
0

私は単純なターンベースのマルチプレイヤーゲームを作成しています。私は前後に渡りたいいくつかの "ユニット"オブジェクトを持っています。私は、オブジェクトの定義を一度だけ定義したかったのです。 C++ではヘッダーファイルを使用し、Javaではそれらを実装できますが、Javascriptではこれをどのように達成できるかわかりません。Javascriptサーバー/クライアントで共有オブジェクト定義

私は単純にすべてを2回定義することができましたが、私はいつかこれが将来私の将来に再び現れるかもしれないと感じています。私はNodejsとJavascriptを使用しています。

シンプルなHTMLを作成できると思っていましたが、同じことをserver.jsでやってみるのは苦労していました。これを処理する必要があります。

+1

JavaScriptは動的です。「定義」を作成することは、インターフェイスや定義が無意味になるようにすべてを変更できるため、うまくいくものではありません。 [TypeScript](https://www.typescriptlang.org/)のようなものを使わない限り、オブジェクト構造を強制することは不可能です。 – grimurd

答えて

1

あなたの質問が正しく理解されているかどうかわかりません。しかし、私は単位オブジェクトをファイルに定義してそこからエクスポートするだけです。 Object.freeze()またはObject.seal()を使用することができます(ユースケースに応じて)。オブジェクトの変更/小道具の追加を妨げます。

const unit = Object.seal({ 
    name: 'hello' 
    .... 
}); 

export default unit; 
1

は、フロントエンドにし、サーバーの両方で、あなたのロジックとrequireそれでモジュールを作成します:あなたは動的な値で初期化したい場合にも、あなたは密封された/凍結されたオブジェクトを返す関数を定義します。このようにして、ロジックを単一の場所に定義し、必要な場所で再利用できます。

フロントエンドはhttp://browserify.org/です。

関連する問題