Kirish

Doimiy rivojlanib borayotgan veb-ishlab chiqish landshaftida tezkor va uzluksiz foydalanuvchi tajribasini taqdim etish muhim ahamiyatga ega bo'ldi. Ushbu maqsadga erishishda jadallashib borayotgan usullardan biri bu Server tomonida ko'rsatish (SSR). Ushbu maqolada biz Vue 3 bilan SSR dunyosiga kirib, uning afzalliklari va amalga oshirilishini o'rganamiz va yo'lda paydo bo'ladigan umumiy savollarni ko'rib chiqamiz.

Server tomonida ko'rsatish (SSR) nima?

Server tomonida renderlash, odatda, SSR deb qisqartiriladi, bu veb-ilovalarga to'g'ridan-to'g'ri serverdan to'liq ko'rsatilgan HTML sahifalarni yaratish va ularga xizmat ko'rsatish imkonini beruvchi renderlash texnikasi. An'anaviy Yagona sahifali ilova (SPA) yondashuvidan farqli o'laroq, mijozning brauzeri dastlabki ma'lumotlarni oladi va keyin veb-sahifani yig'adi, SSR mijozga oldindan ko'rsatilgan HTML sahifani yuboradi. Ushbu yondashuv bir qancha afzalliklarga ega bo'lib, uni veb-ishlab chiquvchilar orasida tobora ommalashmoqda.

Server tomonida renderlashning afzalliklari:

1. Yaxshilangan samaradorlik

SSR ning asosiy afzalliklaridan biri bu sahifani yuklash vaqtini oshirishdir. Agar foydalanuvchi sahifani so'rasa, u allaqachon to'ldirilgan barcha kerakli tarkibga ega HTML hujjatini oladi. Bu, ayniqsa, sekinroq ulanishlar yoki kamroq kuchli qurilmalarda foydalanuvchi tajribasini yaxshilash, tezroq dastlabki ko'rsatishga olib keladi.

2. SEOga do'stlik

Qidiruv mexanizmlari SSR tomonidan yaratilgan sahifalarni samarali skanerlashi va indekslashi mumkin, chunki ular to'liq ko'rsatilgan HTMLni oladi. Bu SPA-dan farqli o'laroq, ular murakkab indeksatsiyaning vaqtinchalik echimlarini talab qiladi va SEO uchun qulay bo'lmasligi mumkin.

3. Kengaytirilgan foydalanuvchi tajribasi

SSR yordamida foydalanuvchilar veb-ilovangiz bilan tezroq ishlashni boshlashlari mumkin, chunki ular JavaScript-ni yuklab olish va ishga tushirishni kutishlari shart emas. Bu qo'rqinchli "bo'sh ekran" vaqtini qisqartiradi, natijada foydalanuvchi tajribasi yanada yumshoq bo'ladi.

Vue 3 bilan SSRni amalga oshirish

Endi biz SSR ning afzalliklarini tushunganimizdan so'ng, uni Vue 3 yordamida qanday amalga oshirishni ko'rib chiqamiz.

1. Vue 3 loyihasini o'rnatish

Boshlash uchun Vue CLI yoki boshqa afzal qilingan usul yordamida yangi Vue 3 loyihasini yarating. Vue Router va Vuex o'rnatilganligiga ishonch hosil qiling, chunki ular SSR uchun juda muhimdir.

vue create my-ssr-app

2. Vue Server Rendererni qo'shish

Vue vue-server-renderer deb nomlangan paketni taqdim etadi, bu server tomonida renderlashni ta'minlaydi. Uni loyihangizga o'rnating:

npm install vue-server-renderer

3. SSR kirish nuqtasini yarating

Loyihangizda server tomonida ko'rsatish uchun maxsus kirish nuqtasi yarating. An'anaviy ravishda bu fayl server-entry.js deb nomlanadi. Ushbu kirish nuqtasi SSR-ga xos konfiguratsiyalar va mantiqni boshqaradi.

// server-entry.js
import { createApp } from 'vue';
import App from './App.vue';

export default (context) => {
  const app = createApp(App);
  // Apply any server-specific logic here
  return app;
};

4. Serveringizni sozlang

SSR so'rovlarini bajarish uchun sizga Node.js server kerak. Ommabop tanlovlar orasida Express.js yoki Koa.js mavjud. Vue komponentlarini server tomonida ko'rsatish uchun serveringizni sozlang.

// server.js
const express = require('express');
const { createRenderer } = require('vue-server-renderer');
const serverBundle = require('./dist/server-bundle.json');
const template = require('fs').readFileSync('./index.html', 'utf-8');
const app = express();
const renderer = createRenderer({
  template,
  serverBundle,
});
app.get('*', (req, res) => {
  const context = { url: req.url };
  renderer.renderToString(context, (err, html) => {
    if (err) {
      res.status(500).end('Internal Server Error');
      return;
    }
    res.end(html);
  });
});
app.listen(3000, () => {
  console.log('Server started on http://localhost:3000');
});

5. Loyihangizni qurish

SSR uchun Vue 3 loyihangizni kompilyatsiya qiling:

npm run build:ssr

6. Serveringizni ishga tushiring

Node.js serveringizni ishga tushiring:

node server.js

Ushbu qadamlar bilan Vue 3 ilovangiz server tomonida renderlash bilan ishlayotgan bo'lishi kerak!

Tez-tez so'raladigan savollar bo'limi

1-savol: SSR barcha turdagi veb-ilovalar uchun mos keladimi?

A1: SSR SEO optimallashtirish va kengaytirilgan dastlabki yuklash vaqtlarini talab qiladigan ilovalar uchun foydalidir. Biroq, mijoz tomonidan ko'rsatish (CSR) yoki gibrid yondashuv ko'proq mos bo'lishi mumkin bo'lgan yuqori dinamik, real vaqtda ilovalar uchun eng yaxshi tanlov bo'lmasligi mumkin.

2-savol: SSR mijoz tomonidan ko'rsatish (CSR) o'rnini bosadimi?

A2: Yo'q, SSR CSRning to'liq o'rnini bosmaydi. Ko'p hollarda CSR va SSRni birlashtirgan gibrid yondashuv idealdir. SSR boshlang'ich sahifa yuklanishini boshqaradi, CSR esa keyingi o'zaro ta'sirlarni o'z zimmasiga oladi va foydalanuvchining silliq tajribasini ta'minlaydi.

3-savol: SSR bilan ishlashda o'zaro kelishuvlar bormi?

A3: SSR boshlang'ich yuklash vaqtini yaxshilasa-da, u server yukini va murakkabligini oshirishi mumkin. To'g'ri keshlash strategiyalari va serverni optimallashtirish ushbu mumkin bo'lgan kamchiliklarni yumshatish uchun juda muhimdir.

4-savol: Vue 3 da SSR bilan uchinchi tomon kutubxonalari va plaginlaridan foydalanishim mumkinmi?

A4: Ha, Vue 3 SSR-mos keladigan uchinchi tomon kutubxonalari va plaginlarini qo'llab-quvvatlaydi. Muvofiqlik bilan bog'liq muammolarni oldini olish uchun siz tanlagan kutubxonalar SSR-ga tayyor ekanligiga ishonch hosil qiling.

Xulosa

Vue 3 bilan server tomonida ishlash unumdorlik va SEO optimallashtirish nuqtai nazaridan katta foyda keltiradi. Serverda HTML tarkibini oldindan ko'rsatish orqali siz foydalanuvchi tajribasini va veb-ilovalaringizning qidiruv tizimi ko'rinishini sezilarli darajada yaxshilashingiz mumkin. SSR qo'shimcha konfiguratsiya va server tomonida ko'rsatish mantig'ini talab qilsa-da, uning jadvalga keltiradigan afzalliklari uni zamonaviy veb-ishlab chiqish uchun qimmatli texnikaga aylantiradi. SSR-ni Vue 3 loyihalaringizga uning potentsialini ochish va foydalanuvchilarga tezroq, SEO-do'st veb-tajribalarini taqdim etish uchun integratsiyalashni o'ylab ko'ring.