2011-12-24 11 views
2

この質問は、ノードの経験を持つ人には簡単に答えられるはずです。残念ながら私は極端な初心者です。NowJSでノードサーバーを使用してjavascriptファイルを送信

ボードゲームのWebアプリケーションを作成しています。このアプリケーションは、サーバー/クライアントアーキテクチャを使用して、ボードにリアルタイムで加えられた変更をすべてのクライアントに表示します。アプリケーションはRaphaelを使用してグラフィックスを表示します。

リクエストに応答するためにHTMLファイルを正常に送信するサーバーを作成しましたが、ボードは表示されません.Javascriptのない生のHTMLのみが表示されます。私は、HTMLファイルで常に応答するようにサーバーをプログラミングしているので、Javascriptファイル(client.js、raphael.js)をクライアントに送信してページが正しく読み込まれるようにする方法がわかりません。

関連コードは以下のとおりです。今のところ、ブラウザにRaphael要素を描画させようとしているので、クライアントがページをロードするために必要なJavascriptファイルを正しく取得していることがわかります。

サーバー側で

:あなたはHTMLファイルが正しくフォーマットされ、すべてのJSファイルへの参照が含まれていると仮定することができます

$(document).ready(function(){ 
    var R = Raphael("container", 1000, 700); 
    this.R.path("M0,0l1000,700").attr({"stroke-width": "5"}); 
}); 

- 私はクライアント側で

var fs = require('fs'); 
var server = require('http').createServer(function(req, response){ 
    fs.readFile('index.html', function(err, data) { 
    response.writeHead(200, {'Content-Type':'text/html'}); 
    response.write(data); 
    response.end(); 
    }); 
}); 

今やしばらくの間、サーバーとクライアントのアーキテクチャーがなくてもアプリケーションの動作はすばらしくなっています。また、私はNowJSを使用しているので、そのフレームワークを組み込んだソリューションも歓迎されるでしょう。

ありがとうございました!

+0

ないあなたがJavaScriptファイルを送信したい理由は、なぜファイルをすることはできません確認してくださいサーバーからブラウザを直接読み込みますか?スクリプトタグでHTMLを送信し、JavaScriptを参照することができます。 –

答えて

1

https://gist.github.com/1245922

それを適切なMIMEタイプを返すように拡張を評価し、ストリームファイル関数を呼び出して、要求されたURL /ファイルをfsから戻します。

あなたはnowjsでこれを使用するつもりならば、あなたはまたの線に沿って使用することをお勧めします:

var everyone = nowjs.initialize(server); 
関連する問題