項目運作時一直發http://localhost:8080/sockjs-node/info?t=1462183700002請求
-
- 【方案1】
- 【方案2】
- 【方案3】
server是webpack建立的,運作在localhost:8080,部署到伺服器後運作就報錯

網上的解決方案
【方案1】
這個問題:如果是在開發環境,應該是開發的時候網絡環境變更導緻,比如你切換無線網絡,導緻開發伺服器的IP位址換了,這樣開發伺服器會不知道如何确定通路源。開發環境中關閉npm dev server,然後重新npm run serve重新建構服務環境就可以了。
如果是生産環境,很大可能是應該是域名和ip映射出問題,重新開機node,檢查重新配置域名和ip映射就可以了。
【方案2】
如果你的浏覽器,與NPM伺服器,不是同一個機器(不是localhost),那麼會導緻這個報錯。
我搜尋了好久,才發現這個是可以在webpackjs裡配置的(即vue.config.js):
https://webpack.js.org/config...
module.exports = {
devServer: {
sockHost: 'demo.my-domain.com',
disableHostCheck: true,
}
}
【方案3】
首先sockjs-node是一個JavaScript庫,提供跨浏覽器JavaScript的API,建立了一個低延遲,全雙工的浏覽器和web伺服器之間通信通道。
如果你的項目沒有用到sockjs,vuecli3 運作npm run serve 之後network裡面一直調用一個接口:
http://localhost:8080/sockjs-node/info?t=1556418283950
方案:從根源上關閉此調用
1、node_modules/sockjs-client/dist/sockjs.js
2、代碼的1605行注釋
// self.xhr.send(payload);
ps:可在代碼開發完成後關閉,會同步關閉熱加載
個人是參考方案二,