0

node.jsとexpressを使用して、リンクされたjsスクリプトでhtmlページを提供しようとしています。これは、ページを提供するサーバーです。

var express = require("express");
var app2 = express();
app2.get('/', function(req, res) {
   res.sendfile('./index.html');
});
app2.listen(process.env.VCAP_APP_PORT || 3000);

これはページです:

<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
</head>
<body>
    <h1>Demo</h1>
    <script src="/js/socket.io.js"></script>
    <script src="/js/codice.js"></script>
</body>

ご覧のとおり、js フォルダーに 2 つの js スクリプトがありますが、ページを起動しても読み込まれません。私に何ができる?

4

1 に答える 1

2

通常は、パブリックリソース(JavaScriptファイル、CSSファイル、画像など)をディレクトリに配置し(Expressはデフォルトでパブリックと名付けます)、呼び出しでexpress.staticミドルウェアを使用します。app.configure

app.configure(function () {
    // Various other middleware functions...
    app.use(express.static(path.join(__dirname, "public")));
});

これにより、パブリックディレクトリ内のすべてのファイルを返す静的ファイルサーバーが効果的に実行されます。現在、ブラウザはJSファイルを要求していますが、Expressサーバーはそれらをどう処理するかを認識していません。最終的にはタイムアウトになります。

expressグローバル実行可能ファイル(npmを介してグローバルにExpressをインストールした場合に利用可能)を使用してアプリの初期状態を生成すると、このほとんどが自動的に設定されます。

于 2013-02-11T11:06:17.213 に答える