リクエストごとにindex.htmlを送信していることをご存知ですか?
これを変更します:
router.get('*', function(request, response) {
response.sendfile('./public/index.html');
});
これに:
app.use(express.static(path.join(__dirname, 'public')));
またはこれ:
app.use('/path', express.static(path.join(__dirname, 'public')));
/
以外のパスで静的ファイルを提供する場合 。
必ずこれをファイルの先頭に追加してください:
var path = require('path');
また、実際にpublic
があることを確認してください ディレクトリが正しい場所にあり、index.html
が含まれていること およびその他の必要なファイル。
もちろん、明らかにコード全体が含まれていないため、他の問題が発生する可能性があります。
Expressで静的ファイルを提供する場合は、GitHubの例を参照してください:
- https://github.com/rsp/node-express-static-example
これは、ダウンロードして、独自の静的コンテンツを正しいディレクトリに配置し、独自のニーズに合わせてカスタマイズできる実用的な例です。
Expressを使用した場合と使用しない場合で同じことを行うその他の例:
- https://github.com/rsp/node-static-http-servers
その他の関連する回答:
- nodejsを使用して画像を提供する方法
- Javascriptをリダイレクトするときに同じディレクトリからリソースを読み込めませんでした
- onloadjs呼び出しがノードで機能しない
- フォルダ全体のコンテンツをエクスプレスでクライアントに送信する
- ノードJSが静止画像を提供していません