私はExpressJSを使用して静的なプログレッシブWebアプリケーションをホストしようとしていますが、NodeJSとExpressJSを使用して静的プログレッシブWebアプリケーション(PWA)をホストする
私はExpressJSをルーティングに使用する方法に関する素晴らしい記事をいくつか見つけましたが(下のリンクを参照)、私の問題解決には役立っていません。これらのチュートリアルは非常に基本的なものであり、より高度なチュートリアルを見つけることはできません。皆さんが知っている場合は、このスレッドに返信してリンクしてください!
https://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm
https://stormpath.com/blog/build-nodejs-express-stormpath-app
https://zellwk.com/blog/crud-express-mongodb/
https://www.codementor.io/nodejs/tutorial/build-website-from-scratch-using-expressjs-and-bootstrap
マイフォルダ構造は次のようになります。
node_modules
package.json
server.js
index.html
sw.js (service worker)
public/
js/
index.js
style/
index.css
と私のserver.jsは次のようになります。私は私の公開/スタイル/ロードしています私のindex.htmlで
var express = require('express');
var app = express();
// Initialize static content
app.use(express.static('public'));
app.get('/index.html', function(req, res) {
res.sendFile(__dirname + '/index.html');
});
app.listen(8887);
index.css stylesheetとpublic/js/index.jsのようなjavascript:
<link rel="stylesheet" href="public/style/index.css">
<script src="public/js/index.js"></script>
「node server.js」コマンドを使用してアプリケーションをホストし、http://localhost:8887/index.htmlに移動すると、正しいindex.htmlファイルが配信されますが、index.cssファイルは配信されません。ここで
は私の問題です:
- 私のスタイルシートが正しく提供されていない(index.htmlの任意のCSSなし をレンダリング)
- ブラウザは、サービスワーカー(sw.jsを拾っていません)
編集:ときに、サービスワーカー負荷パブリック/フォルダにsw.jsを移動するには、エラーが発生します。http://localhost:8887/sw.jsネット:: ERR_INVALID_RESPONSEをGET。
スクリプトのsrcとlink hrefから 'public'を削除します。もう一つのことは、index.jsが見つからないのですか?あなたはindex.jsonを意味しましたか? – Roberto14
申し訳ありません、あなたが正しいです - index.jsonは私の一部のtypoであり、index.jsであるはずでした。私のスクリプトからpublicを削除すると、スクリプトの読み込みの問題は修正されますが、サービスワーカーの問題は修正されません – Antag