Rumah hujung hadapan web View.js Bagaimana untuk membina aplikasi sembang masa nyata dan pemesejan segera menggunakan Vue?

Bagaimana untuk membina aplikasi sembang masa nyata dan pemesejan segera menggunakan Vue?

Jun 27, 2023 pm 05:44 PM
vue pemesejan segera Sembang langsung

Dalam beberapa tahun kebelakangan ini, sembang masa nyata dan pemesejan segera telah menjadi bahagian penting dalam kehidupan dan kerja harian orang ramai. Sama ada media sosial, kerjasama pasukan atau perkhidmatan pelanggan, semuanya memerlukan komunikasi masa nyata untuk menyokongnya. Vue.js ialah rangka kerja JavaScript yang sesuai untuk membina aplikasi sembang masa nyata dan pemesejan segera. Artikel ini akan memperkenalkan cara menggunakan Vue untuk membina aplikasi sembang masa nyata dan pemesejan segera.

1. Pengenalan kepada Vue dan Socket.io

Vue ialah rangka kerja JavaScript yang popular Ia adalah rangka kerja responsif yang boleh membantu pembangun mengendalikan operasi DOM dan logik mengikat data dengan lebih mudah. Sebagai rangka kerja MVC, Vue berprestasi sangat baik dalam aplikasi satu halaman, terima kasih kepada kebolehsuaian, kecekapan dan kuasa Vue yang sangat tinggi. Socket.io ialah alat yang boleh menyediakan komunikasi masa nyata, dua hala, dipacu peristiwa kepada pelanggan dan pelayan berdasarkan WebSocket.

2. Gabungan Vue dan Socket.io

Membina aplikasi sembang masa nyata dan pemesejan segera memerlukan gabungan Vue dan Socket.io. Dalam Vue, kami boleh mengurus status dalam sembang langsung dan aplikasi pemesejan segera melalui vuex. Kami boleh menggunakan Vuex untuk mengurus maklumat pengguna, maklumat sesi, mesej, pemberitahuan dan data lain yang berkaitan. Dalam Socket.io, kita boleh menggunakannya untuk melaksanakan mekanisme komunikasi masa nyata.

  1. Pasang Vue dan Socket.io

Memasang Vue dan Socket.io memerlukan memasukkan arahan berikut dalam alat baris arahan:

npm install --save vue
npm install --save socket.io-client
Salin selepas log masuk
  1. Menggunakan Socket.io untuk mewujudkan sambungan
untuk menggunakan Socket.io sambungan memerlukan klien Perkenalkan modul socket.io-client ke dalam terminal:

import io from 'socket.io-client'
const socket = io('http://localhost:3000')
Salin selepas log masuk

Dalam contoh ini, kami mewujudkan soket bernama soket yang disambungkan ke port 3000 hos tempatan (localhost). Seterusnya, kita boleh menggunakan soket ini dalam komponen Vue untuk mendengar dan memancarkan peristiwa.

    Mendengar dan menghantar acara
Dalam komponen Vue, kita boleh menggunakan pembolehubah $socket untuk memperkenalkan contoh socket.io-client. Seperti yang ditunjukkan di bawah:

mounted() {
  this.$socket.on('connect', () => {
    console.log('Connected to server!')
  })
}
Salin selepas log masuk

Dalam contoh ini, kami sedang mendengar acara sambungan sejurus selepas komponen dipasang, dan apabila sambungan berjaya, kami akan melihat mesej dalam konsol.

Kita juga boleh menggunakan kaedah emit soket untuk menghantar acara. Seperti yang ditunjukkan di bawah:

methods: {
  sendMessage() {
    this.$socket.emit('message', this.message)
  }
}
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kaedah sendMessage dan kami menggunakan $socket.emit untuk memancarkan peristiwa bernama mesej kepada pelayan.

3. Pelaksanaan membina aplikasi sembang masa nyata dan pemesejan segera menggunakan Vue dan Socket.io

Kami boleh menggunakan Vue dan Socket.io untuk membina aplikasi sembang masa nyata dan pemesejan segera.

    Buat Vuex Store
Vuex Store digunakan untuk menyimpan maklumat pengguna, maklumat sesi, mesej dan pemberitahuan Kami boleh menggunakan kod berikut untuk mencipta Kedai Vuex:

rreee

Dalam contoh ini, kami mentakrifkan keadaan awal. Maklumat pengguna, maklumat sesi, mesej dan pemberitahuan, dsb. Kami telah menentukan satu siri mutasi dan tindakan untuk mengendalikan maklumat pengguna, maklumat sesi, mesej, pemberitahuan dan keadaan lain yang berkaitan.

    Buat komponen Vue
Kita boleh menggunakan Vue.js dan Kedai Vuex untuk mencipta komponen Sembang.

import Vue from 'vue'
import Vuex from 'vuex'
import io from 'socket.io-client'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    user: {
      id: null,
      name: null
    },
    rooms: [],
    activeRoomId: null,
    messages: []
  },
  mutations: {
    setUser(state, user) {
      state.user = user
    },
    setRooms(state, rooms) {
      state.rooms = rooms
    },
    setActiveRoomId(state, roomId) {
      state.activeRoomId = roomId
    },
    addMessage(state, message) {
      state.messages.push(message)
    },
    clearMessages(state) {
      state.messages = []
    }
  },
  actions: {
    connect({ commit, dispatch }) {
      const socket = io('http://localhost:3000')

      socket.on('connect', () => {
        console.log('Connected to server!')
      })

      socket.on('user', (user) => {
        commit('setUser', user)
      })

      socket.on('rooms', (rooms) => {
        commit('setRooms', rooms)
      })

      socket.on('activeRoomId', (roomId) => {
        commit('setActiveRoomId', roomId)
      })

      socket.on('message', (message) => {
        commit('addMessage', message)
      })

      socket.on('clearMessages', () => {
        commit('clearMessages')
      })

      socket.on('disconnect', () => {
        console.log('Disconnected from server!')
      })
    },
    sendMessage({ state }, message) {
      const socket = io('http://localhost:3000')

      const payload = {
        roomId: state.activeRoomId,
        message
      }

      socket.emit('message', payload)
    }
  },
  modules: {
  }
})
Salin selepas log masuk

Dalam komponen ini, kami menggunakan perintah v-for untuk menggelungkan untuk mengikat bilik dan mesej, menggunakan arahan model v untuk mengikat kotak input dan menggunakan arahan @click untuk mengikat butang hantar. Kami juga menggunakan fungsi mapState dan mapActions untuk memetakan keadaan dan tindakan dalam stor kepada sifat dan kaedah yang dikira komponen. Apabila memasang komponen, kami memanggil kaedah sambungan untuk memulakan sambungan Socket.io.

    Melaksanakan Socket.io di bahagian pelayan
Kami juga perlu melaksanakan Socket.io di bahagian pelayan untuk digunakan dalam aplikasi Vue. Cipta pelayan menggunakan kod di bawah:

<template>
  <div class="chat">
    <div class="chat__user">
      <h2>{{ user.name }}</h2>
    </div>
    <div class="chat__rooms">
      <ul>
        <li v-for="room in rooms" :key="room.id" @click="selectRoom(room.id)">
          {{ room.name }}
        </li>
      </ul>
    </div>
    <div class="chat__messages">
      <ul>
        <li v-for="message in messages" :key="message.id">
          {{ message.text }}
        </li>
      </ul>
    </div>
    <div class="chat__input">
      <input type="text" v-model="message">
      <button @click="sendMessage()">Send</button>
    </div>
  </div>
</template>

<script>
import { mapState, mapActions } from 'vuex'

export default {
  name: 'Chat',
  computed: {
    ...mapState(['user', 'rooms', 'activeRoomId', 'messages']),
  },
  methods: {
    ...mapActions(['connect', 'sendMessage', 'selectRoom']),
  },
  mounted() {
    this.connect()
  }
}
</script>
Salin selepas log masuk
Dalam contoh ini, kami mencipta pelayan HTTP menggunakan Socket.io dan mendengar acara sambungan pada pelayan. Kami telah menentukan pelbagai acara Socket.io seperti verifyUser, getRooms, selectRoom, mesej, dll.

Kami juga menambah beberapa bilik dan pengguna awal. Untuk setiap pelanggan yang menyambung ke pelayan, kami mengeluarkan mesej sambungan untuk setiap acara putus sambungan pelanggan, kami log mesej. Dalam acara selectRoom, kami menggunakan kaedah socket.join untuk menambahkan klien ke bilik yang kami mahu menghantar mesej. Akhir sekali, kami menggunakan tatasusunan Bilik untuk menyimpan data semua bilik dan menggunakan kaedah SelectRoom komponen untuk memilih bilik untuk disertai.

IV. Kesimpulan

Dengan menggunakan gabungan Vue dan Socket.io, anda boleh membina aplikasi sembang bersambung masa nyata dan pemesejan berprestasi tinggi dengan mudah, yang boleh memastikan sifat data masa nyata dan meningkatkan pengguna dengan ketara pengalaman dan kecekapan pemprosesan data. Melalui pengoptimuman Vue dan Socket.io, kami boleh memulakan pembangunan dengan lebih cepat, mengubah versi dengan cepat, dan masa nyata dan kestabilan data lebih terjamin.

Atas ialah kandungan terperinci Bagaimana untuk membina aplikasi sembang masa nyata dan pemesejan segera menggunakan Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Cara Menggunakan Fungsi Memintas Vue Cara Menggunakan Fungsi Memintas Vue Apr 08, 2025 am 06:51 AM

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.

See all articles