国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3.2+vite+代理,使用websocket

這篇具有很好參考價(jià)值的文章主要介紹了vue3.2+vite+代理,使用websocket。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

之前以為websocket復(fù)雜,想使用插件來實(shí)現(xiàn),查了一番資料,原生寫法就很簡(jiǎn)單。

項(xiàng)目需求

查詢列表,需要實(shí)時(shí)獲取員工上報(bào)的數(shù)據(jù)

代碼部分

Table.vue

<script setup lang="ts">
import { ref, onUnmounted } from "vue";
//頁面卸載,關(guān)閉socket
onUnmounted(() => {
  closeWebSocket();
});
//這里后端接口需要用登錄的用戶id,通過session獲取
const userInfo = getSessStorage("userInfo") as { userId: string };
// WebSocket
const ws = ref();
const initWebSocket = () => {
  ws.value = new WebSocket(`ws://${location.host}/commonSocket/${userInfo.userId}`);
  ws.value.onopen = () => {
    console.log("連接成功");
  };
  //后端設(shè)置心跳,會(huì)每間隔一定時(shí)間,觸發(fā)一次,根據(jù)內(nèi)容變化處理邏輯
  ws.value.onmessage = (e: any) => {
    console.log(e, "廣播返回的消息");
    //后端約定了,如果返回字符串“UPDATE”,就更新表格
    if (e.data === "UPDATE") {
      //getTable();
    }
  };
  ws.value.onerror = () => {
    console.log("連接錯(cuò)誤");
    //斷連后每5秒重連一次
    setTimeout(() => {
      initWebSocket();
    }, 5000);
  };
};
initWebSocket();
//關(guān)閉鏈接(在頁面銷毀時(shí)銷毀連接)
const closeWebSocket = () => {
  ws.value.close();
};
</script>

因?yàn)榭缬騿栴},這里使用了vite的proxy代理功能

vite.config.ts

import { defineConfig} from "vite";
import { resolve } from "path";
……

export default defineConfig(({ command }) => {
  return {
    resolve: {
      alias: {
        "@": resolve(__dirname, "src")
      },
      extensions: [".js", ".json", ".ts"], 
    },
    plugins: [
      vue(),
    ],
    
    server: {
      host: "0.0.0.0",
      port: 3000,
      proxy: {
        "/commonSocket": {
          // target: 'ws://192.168.0.66:60601/',這是后端接口地址
          target: 'ws://192.168.0.66:60601/',
          changeOrigin: true,
          ws: true
        },
      },
    },
  };
});


如果代理設(shè)置好,連接成功,以上websocket會(huì)打印"連接成功"和輸出返回。

完!

補(bǔ)充:

項(xiàng)目運(yùn)行了一段,對(duì)websocket有了更多了解:
websocket保持連接,在網(wǎng)絡(luò)中斷時(shí)候,不會(huì)報(bào)錯(cuò),短時(shí)間恢復(fù)網(wǎng)絡(luò),還會(huì)繼續(xù)連接上,長(zhǎng)時(shí)間還未知。

解決辦法:

加入一個(gè)前端檢測(cè)機(jī)制,每次心跳,后端發(fā)送當(dāng)前時(shí)間戳,前端接收保存變量里,用定時(shí)器間隔檢查時(shí)間戳,和當(dāng)前時(shí)間做比較,發(fā)現(xiàn)時(shí)間間隔大于一定,比如10分鐘,說明有一段沒收到心跳,就認(rèn)為斷連了,重新初始化websocket文章來源地址http://www.zghlxwxcb.cn/news/detail-691958.html

到了這里,關(guān)于vue3.2+vite+代理,使用websocket的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vite+vue3+ts項(xiàng)目上線docker 配置反向代理API

    vite+vue3+ts項(xiàng)目上線docker 配置反向代理API

    這次重點(diǎn)的坑是反向代理。 1。項(xiàng)目中配置代理,為了跨域請(qǐng)求數(shù)據(jù) 項(xiàng)目根目錄中新建vite.config.ts文件 在文件中添加配置代理 注意:其中 \\\'/api\\\' 和target 的地址后面沒有 \\\'/\\\' 2。在項(xiàng)目根目錄中新建Httprequest.ts文件,引入axios,并封裝請(qǐng)求 引入axios就不多說了,npm自行安裝就好 注

    2024年02月20日
    瀏覽(21)
  • vue3創(chuàng)建項(xiàng)目,vite+js

    vue3創(chuàng)建項(xiàng)目,vite+js

    之前的時(shí)候大哥就讓我自己搭架子,但是我拖延癥,現(xiàn)在用到了,得自己搭了 我的項(xiàng)目都放到了 VuePorjects這個(gè)目錄里面, 一、先進(jìn)入到指定工作目錄,(不是你要?jiǎng)?chuàng)建的項(xiàng)目的名稱哈) 二、創(chuàng)建vue3項(xiàng)目,安裝創(chuàng)建項(xiàng)目 ?@latest是項(xiàng)目名稱,可以自己修改項(xiàng)目名稱,然后選擇

    2024年02月16日
    瀏覽(27)
  • vue3+nodejs(websocket)實(shí)現(xiàn)監(jiān)控拉rtsp流,使用flv.js+ffmpeg包(主要建立websocket是為了轉(zhuǎn)碼傳流)

    vue3+nodejs(websocket)實(shí)現(xiàn)監(jiān)控拉rtsp流,使用flv.js+ffmpeg包(主要建立websocket是為了轉(zhuǎn)碼傳流)

    關(guān)于拉取監(jiān)控?cái)z像頭的流,我個(gè)人去查了很多資料,也是因?yàn)橹皼]有接觸過這一模塊,加上目前公司也沒有后端去寫接口,所以我直接用node去寫websocket,與前端建立起通信,能夠進(jìn)行后續(xù)轉(zhuǎn)碼、傳流,能夠?qū)崿F(xiàn)實(shí)時(shí)播放監(jiān)控畫面。 這里的rtsp流是要事先知道的,監(jiān)控的這個(gè)

    2024年02月20日
    瀏覽(25)
  • vue3+vite+js 引用public文件夾中js文件

    1、/public/ep.js 2、頁面入口index.html ? ? ? ? 在head中引入js文件 3、其他頁面使用

    2024年02月15日
    瀏覽(51)
  • Vue3+Vite連接高德地圖JS API——地圖顯示、輸入搜索

    Vue3+Vite連接高德地圖JS API——地圖顯示、輸入搜索

    1、進(jìn)入高德地圖API官網(wǎng)(https://lbs.amap.com/): 2、注冊(cè)登錄。 3、進(jìn)入控制臺(tái)。 4、點(diǎn)擊“應(yīng)用管理”,點(diǎn)擊“我的應(yīng)用”,創(chuàng)建新應(yīng)用。 5、添加Key,服務(wù)平臺(tái)選擇“Web端(JS API)”,白名單不要填寫,勾選閱讀并同意。 點(diǎn)擊提交后,就能看到Key已經(jīng)生成,記住這里的Key和安

    2024年01月17日
    瀏覽(24)
  • 【Vue3+Vite+bwip-js庫】 生成DataMatrix碼

    【Vue3+Vite+bwip-js庫】 生成DataMatrix碼

    已存在的vue3+vite架構(gòu)前端項(xiàng)目 對(duì)二維碼分類有一定的了解 詳情見:DataMatrix介紹 我這里在build的過程中會(huì)編譯不通過,報(bào)下面的錯(cuò) 解決,在項(xiàng)目根目錄下新建declaration.d.ts文件,加上下面的一句代碼,即可編譯通過 bwip-js庫github代碼地址

    2024年02月05日
    瀏覽(27)
  • vue3+vant自動(dòng)導(dǎo)入+pina+vite+js+pnpm搭建項(xiàng)目框架

    要搭建一個(gè)使用Vue 3、Vant組件庫、Pina狀態(tài)管理、Vite作為構(gòu)建工具、JavaScript語言、pnpm作為包管理工具的項(xiàng)目框架,可以按照以下步驟進(jìn)行操作: 這將生成一個(gè) package.json 文件。 至此,你已經(jīng)搭建好了一個(gè)使用Vue 3、Vant組件庫、Pina狀態(tài)管理、Vite作為構(gòu)建工具、JavaScript語言、

    2024年04月14日
    瀏覽(92)
  • uni-app(Vue3/Vite) + vant UI(Vue3版本)+ js 按需引入的項(xiàng)目搭建

    uni-app(Vue3/Vite) + vant UI(Vue3版本)+ js 按需引入的項(xiàng)目搭建

    ????????因?yàn)橐瓿绍浖こ痰捻?xiàng)目,要做一個(gè)nativeApp,看了很多的技術(shù)文檔以后決定使用多端兼容的uni-app來開發(fā)。組件方面的話最后決定使用目前比較火的Vant UI。但是看了CSDN和掘金上面的很多文章,似乎沒有一篇是關(guān)于uni-app中使用Vite對(duì)vant組件進(jìn)行按需引入(可能這個(gè)

    2023年04月09日
    瀏覽(93)
  • uniapp(vue3)+node.js+websocket(實(shí)現(xiàn)實(shí)時(shí)通信效果)

    uniapp(vue3)+node.js+websocket(實(shí)現(xiàn)實(shí)時(shí)通信效果)

    文章目錄 概要 整體架構(gòu)流程 技術(shù)名詞解釋 技術(shù)細(xì)節(jié) 小結(jié) uniapp基于vue3,小程序的聊天功能 項(xiàng)目是基于node.js服務(wù)器搭建的簡(jiǎn)易雙向通信網(wǎng)頁,實(shí)現(xiàn)了實(shí)時(shí)更新在線人數(shù)以及用戶間即時(shí)通訊的功能。 后臺(tái)接口代碼 1、首先我們可以通過Express 應(yīng)用程序生成器快速搭建一個(gè)后臺(tái)

    2024年03月26日
    瀏覽(30)
  • 【vue3】使用vite構(gòu)建vue3項(xiàng)目

    【vue3】使用vite構(gòu)建vue3項(xiàng)目

    ==??博主:初映CY的前說(前端領(lǐng)域) ,??本文核心:使用vite構(gòu)建vue3項(xiàng)目 【前言】 當(dāng)我們選擇了vue3作為我們項(xiàng)目的開發(fā),就更加的推薦使用vite來對(duì)我們的項(xiàng)目進(jìn)行打包。很簡(jiǎn)單——這也是開發(fā)vue的團(tuán)隊(duì)開發(fā)的工具,因此支持性肯定比傳統(tǒng)的打包工具好,下面我們就來使用vi

    2024年02月06日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包