這個報錯也是一直困擾了我許久,服務端一直打印這個報錯,但是頁面數據響應又都正常,起初真不知道是因為什么原因,能看出來他是在調用80端口, 但是不明白為什么會調用80端口。一度以為是config.js里面配置問題,所以解決的思路就一直在考慮配置方面,端口等方面。
最后發現都沒有效果,在網上也查了各種類似的報錯問題,解決方案也都不在點子上。考慮到我的config配置都是按官方模板配置的,應該不會出問題,所以考慮到換個方向去解決。
最后突然想到之前了解過nuxt的生命周期,beforeCreated 和 created 是同時運行在服務端和客戶端上的,mounted以后才會運行在客戶端。
那么問題關鍵就找到了,之前spa項目在created生命周期里請求數據,我使用的三方axios,那么整體轉為ssr,為避免大量改動,就還是使用的三方axios,接口 /api/user ,現在這個會跑在服務端,那么superagent 內部是用的node url parse 去解析你的這個 /api 參數的,然后再傳給相應的如 http request,所以默認就是80端口。
問題原因找到了,那我們就需要改下生命周期就行了,讓原先spa項目里在created里請求數據,全部改成mounted里去請求。果然問題就解決了。