2

angularを使用して、エクスプレスアプリでnode.jsを開始しています。cloud9 でアプリを作成している間、すべてが正常に機能していました。

ec2 インスタンスでアプリをリリースしたところ、ノードは常に静的ファイルではなく index.html を配信します... クロム デバッグ ネットワークを見ると、すべての js ファイルがロードされていることがわかります (ステータス 200) が、それらをプレビューすると、その私のindex.htmlファイル...私のjsファイルのタイプもtext/htmlに設定されています...

これが私の小さなserver.jsです(角度データを偽造するためルーティングがないため、今のところサーバーへの呼び出しはありません...)

var express = require('express'),
path = require('path'),
http = require('http'),
fs = require('fs');

var app = express();

var logFile = fs.createWriteStream('./logger/express.log', {flags: 'a'}); //use {flags: 'w'} to open in write mode

app.configure(function () {
    app.set('port', process.env.PORT || 3000);
    app.use(express.logger({stream: logFile}));
    app.use(express.bodyParser()),
    app.use(express.static(path.join(__dirname, 'public')));
});

 /*app.get('/events', eventRoute.getEvents);
app.post('/events', eventRoute.saveEvent);*/

http.createServer(app).listen(app.get('port'), function () {
    console.log("Express server listening on port " + app.get('port'));
});

前に言ったように、すべてが cloud9 で正常に動作しています (今のところローカルで試すことはできません...)。

何がうまくいかないのか、誰にも手がかりがありますか?

ありがとう

ドミニク

PS: CSS ファイルと同じであることを忘れていました。

編集:これが私が意味することの小さな写真です! ここに画像の説明を入力

そして、私が取得したファイルのプレビューを見るとここに画像の説明を入力

Edit2: すべてのファイルを削除して、再度アップロードしました。同じ問題!これについて本当に助けが必要です!

問題のライブデモについては、そのサイトにアクセスしてください

4

2 に答える 2

4

「静的ファイル」の意味を詳しく説明できますか?

この行で:

app.use(express.static(path.join(__dirname, 'public')));

「public」ディレクトリ内のすべてのファイルを静的ファイルとして提供するように高速ルーティングしました。デフォルトでは、そのディレクトリが呼び出された場合、express.static は 'index.html' を提供します。「public」ディレクトリを「/」に提供しているため、index.htmlを提供しています。

編集:これが問題かどうかはわかりませんが、コードのこの部分は冗長です:

http.createServer(app).listen()

あなたはただ言うことができます:

app.listen([port], [callback]);

express() を呼び出すとサーバーが作成されたためです。それが役立つことを願っています。

于 2013-07-18T00:28:02.520 に答える