فهرست سرفصل‌های Vue
خانه (HOME) معرفی (Intro) دایرکتیوها (Directives) v-bind (v-bind) v-if (v-if) v-show (v-show) v-for (v-for) رویدادها (Events) v-on (v-on) متدها (Methods) تغییردهنده های رویداد (Event Modifiers) فرم ها (Forms) v-model (v-model) بایندینگ CSS (CSS Binding) ویژگی های محاسبه شده (Computed Properties) واچرها (Watchers) قالب ها (Templates) چرا، چگونه و راه اندازی (Why, How and Setup) اولین صفحه SFC (First SFC Page) کامپوننت ها (Components) پراپس (Props) کامپوننت های v-for (v-for Components) $emit() ($emit()) ویژگی های عبوری (Fallthrough) (Fallthrough Attributes) استایل Scoped (Scoped Styling) کامپوننت های محلی (Local Components) اسلات ها (Slots) v-slot (v-slot) اسلات های Scoped (Scoped Slots) کامپوننت های پویا (Dynamic Components) Teleport (Teleport) درخواست HTTP (HTTP Request) رفرنس های تمپلیت (Template Refs) هوک های چرخه عمر (Lifecycle Hooks) Provide/Inject (Provide/Inject) مسیریابی (Routing) ورودی های فرم (Form Inputs) انیمیشن ها (Animations) انیمیشن با v-for (Animations with v-for) بیلد (Build) Composition API (Composition API) ویژگی های توکار (Built-in Attributes) ویژگی 'is' ('is' Attribute) ویژگی 'key' ('key' Attribute) ویژگی 'ref' ('ref' Attribute) کامپوننت های توکار (Built-in Components) <KeepAlive> (<KeepAlive>) <Teleport> (<Teleport>) <Transition> (<Transition>) <TransitionGroup> (<TransitionGroup>) المان های توکار (Built-in Elements) <component> (<component>) <slot> (<slot>) <template> (<template>) نمونه کامپوننت (Component Instance) $attrs ($attrs) $data ($data) $el ($el) $parent ($parent) $props ($props) $refs ($refs) $root ($root) $slots ($slots) $emit() ($emit()) $forceUpdate() ($forceUpdate()) $nextTick() ($nextTick()) $watch() ($watch()) دایرکتیوها (Directives) v-bind (v-bind) v-cloak (v-cloak) v-for (v-for) v-html (v-html) v-if (v-if) v-else-if (v-else-if) v-else (v-else) v-memo (v-memo) v-model (v-model) v-on (v-on) v-once (v-once) v-pre (v-pre) v-show (v-show) v-slot (v-slot) v-text (v-text) گزینه های نمونه (Instance Options) داده ها (data) متدها (methods) محاسبه شده ها (computed) watch (watch) پراپس (props) emits (emits) expose (expose) هوک های چرخه عمر (Lifecycle Hooks) beforeCreate (beforeCreate) created (created) beforeMount (beforeMount) mounted (mounted) beforeUpdate (beforeUpdate) updated (updated) beforeUnmount (beforeUnmount) unmounted (unmounted) errorCaptured (errorCaptured) renderTracked (renderTracked) renderTriggered (renderTriggered) activated (activated) deactivated (deactivated) serverPrefetch (serverPrefetch) مثال ها (Examples) تمرین ها (Exercises) کوییز (Quiz) سیلابس (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Vue

Vue — serverPrefetch (serverPrefetch)

آخرین بروزرسانی: 1404/08/21

serverPrefetch (serverPrefetch)

هوک «serverPrefetch در ویو (Vue)» فقط در رندر سمت سرور اجرا می شود. «SSR» یعنی ساخت HTML در سرور. این هوک برای گرفتن داده در سرور عالی است. سپس صفحه با داده آماده رندر می شود. مثل وقتی تکالیف را قبل از زنگ کلاس آماده می کنی.

تعریف و کاربرد

serverPrefetch فقط هنگام SSR رخ می دهد. این هوک معمولاً برای fetch داده در سرور است. چون تابعِ async است، اگر Promise برگردانی، سرور تا حل شدن آن صبر می کند.

نمونه کد از منبع

در این نمونه، داده کاربر از API در سرور واکشی و در data ذخیره می شود.

export default {
  data() {
    return {
      data: null
    };
  },
  async serverPrefetch() {
    const response = await fetch("https://random-data-api.com/api/v2/users");
    this.data = await response.json();
  }
};

مشاهده در ادیتور

گام های عملی

  1. پروژه را با SSR فعال اجرا کن.
  2. serverPrefetch را در کامپوننت بنویس.
  3. داده را بگیر و در state ذخیره کن.
  4. در کلاینت، خروجی آماده را نمایش بده.

نکته ها و هشدارها

نکته: پاسخِ سنگین را کش کن تا درخواست ها کمتر شوند.

هشدار: از window یا document در سرور استفاده نکن. خطا می گیری.

پیوندهای مرتبط

برای خروج موقت کش: deactivated. برای ورود مجدد کش: activated.

منابع بیرونی: W3Schools: serverPrefetch، W3Schools: Asynchronous JavaScript.

جمع بندی سریع

  • serverPrefetch فقط در SSR اجرا می شود.
  • داده را قبلِ رندر سرور می گیرد.
  • تابع async است و Promise می پذیرد.
  • سرور منتظر حل Promise می ماند.
  • در سرور سراغ API امن برو.