Express サーバーを備えた node.js バックエンドがあります。すべての get リクエストを angular アプリにデフォルト設定し、angular ルーティングを使用してリクエストを処理したいと考えています。Express サーバーは、angular アプリからのすべての API 呼び出しを処理します。すべての API 呼び出しを上部に、次のコードを下部に配置して高速ルートを設定しました。
app.get('*', function(req, res){
res.sendfile('index.html', { root: path.resolve(__dirname + '/../../app') });
});
これは、デフォルトのホームページではうまく機能しますが、偽のフォルダがある場合はうまく機能しません。例えば
www.example.com (works)
www.example.com/product1 (works)
www.example.com/products/1 (does not work)
私の HTML ファイルは、次の構造を使用してスクリプトを参照しています。
<script src="scripts/app.js"></script>
偽のフォルダー (www.example.com/products/1) で URL にアクセスしようとすると、次のエラーが表示されます: ファイル 'products/scripts/app.js' が見つかりません</p>
URL のフォルダーを使用してファイルを見つけようとしています。これを解決する方法はありますか?または、角度の代わりにルーティングにエクスプレスを使用する必要がありますか?