0
我正在開發我的項目,從此React-Webpack樣板庫(https://github.com/wallacyyy/webpack-heroku/blob/master/server.js)開始。一切正常,但現在,我想實現我的陣營內部應用程序的路由,而要做到這一點,我必須修改一個文件(server.js
)以下:快速通配符GET休息路由到React應用程序
相反的:
app.get('/', function (_, res) { res.sendFile(indexPath) })
我使用:
app.get('*', function (_, res) { res.sendFile(indexPath) })
當我做到這一點的變化,一切的休息時間和程序做出反應不會再呈現。我唯一得到的是瀏覽器中的錯誤:bundle.js:1 Uncaught SyntaxError: Unexpected token <
,如果我試圖看到bundle.js
的內容,我會得到index.html
的內容。
任何想法爲什麼快遞通配符路由會破壞React應用程序?
聽起來像這樣做是破壞你的資產,如bundle.js正確的服務。如果你正在用nginx提供靜態資產,然後將所有其他代理代理到節點,這不會發生。另一個「修復」將確保您的靜態文件路徑出現在通配符之前。 –
你能告訴我如何實現後者? – Teo
您是否嘗試過從publicPath而不是indexPath加載?爲此,您需要將
添加到publicPath index.html。我想知道是否像凱文說,它與渲染靜態文件。 –