vue-router model有兩種,一種是hash模式,一種是history模式。
hash模式的url路徑會帶有#符號, 不利於SEO並且醜,但是因爲瀏覽器向服務器請求時會自動忽略#後面的值,所以在瀏覽器中刷新時是正常的。
history模式下會重新向瀏覽器發起請求,但是服務器根本沒有這個路徑資源,所以會返回cannot find錯誤。
需要在webpacl devServer中添加如下配置:
// history模式下的url會請求到服務器端,但是服務器端並沒有這一個資源文件,就會返回404,所以需要配置這一項 historyApiFallback: { index: '/index.html' //與output的publicPath有關(HTMLplugin生成的html默認爲index.html) },