タイトルが示すように、私はFeathersJSのpublic/index.html
からVue.jsのシングルページアプリケーションを提供しています。私はvue-routerのHTML5履歴モードを使用しているので、要求されたフロントエンドの場所を/index.html
に書き換えるために、connect-history-api-fallback
のようなミドルウェアを使用する必要があります。要求は何も/index.html
をピックアップしていないとnotFound
は404応答を提供しています書き換えます時間によってので羽は、他のすべての前に静的ファイルを提供していますので、ちょうどapp.use(notFound());
前src/middleware
でこのミドルウェアの設定FeathersJSでconnect-history-api-fallbackミドルウェアを使用してVue.jsを配信するSPA
は動作しません。
.use('/', serveStatic(app.get('public')))
がsrc/app.js
になる前に設定すると、すべてのサービス要求が/index.html
に書き換えられ、API呼び出しが到達不能になるため、問題があります。
私は.configure(services)
後serveStatic
ミドルウェアを動かすことになったと右のようになどの上connect-history-api-fallback
を置く:
app.use(compress())
.options('*', cors())
.use(cors())
// favicon and serveStatic used to be here
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }))
.configure(hooks())
.configure(rest())
.configure(socketio())
.configure(services)
.use(require('connect-history-api-fallback')())
// now they are down here
.use(favicon(path.join(app.get('public'), 'favicon.ico')))
.use('/', serveStatic(app.get('public')))
.configure(middleware);
私の質問は以下の通りです:任意のパフォーマンスやセキュリティの欠点は、このアプローチにはありますか?