آموزش Vue.js: کدنویسی عملی — بخش سوم

۱۱۹ بازدید
آخرین به‌روزرسانی: ۱۴ شهریور ۱۴۰۲
زمان مطالعه: ۶ دقیقه
آموزش Vue.js: کدنویسی عملی — بخش سوم

در این بخش از سری مقالات آموزش جامع فریمورک Vue و در ادامه بخش قبلی با مراحل کدنویسی عملی اپلیکیشن‌های Vue آشنا می‌شویم. برای مطالعه بخش قبلی روی لینک زیر کلیک کنید:

در بخش قبلی از این سری مقالات با مقدمات ساخت اپلیکیشن آشنا شدیم و اینکه ادامه بحث را از سر می‌گیریم.

ریپازیتوری گیت

اگر به گوشه چپ-پایین VS Code توجه کنید، می‌بینید که کلمه‌ای به صورت Master وجود دارد.

دلیل این امر آن است که Vue CLI به صورت خودکار یک ریپازیتوری ایجاد کرده و نخستین کامیت را ارسال نموده است. بنابراین می‌توانیم مستقیماً وارد آن شده، مواردی را تغییر دهیم و همواره می‌دانیم که چه چیزهایی تغییر یافته‌اند.

کدنویسی عملی Vue

این وضعیت بسیار جالبی است. تا به حال برای این که بدانید یک کد را چه زمانی باید کامیت کنید و به صورت اولیه کامیت نکرده‌اید، چند بار آن را تغییر داده‌اید؟

استفاده از preset در خط فرمان

می‌توان پنل تعاملی را کنار گذاشته و به Vue CLI دستور داد که از یک preset خاص استفاده کند:

vue create -p favourite example-2

preset ها کجا ذخیره می‌شوند؟

Preset-ها در فایل vuejs. در دایرکتوری home ذخیره می‌شوند. فایل ما پس از ایجاد یک preset به نام favorite به صورت زیر بوده است:

1{
2  "useTaobaoRegistry": false,
3  "packageManager": "yarn",
4  "presets": {
5    "favourite": {
6      "useConfigFiles": true,
7      "plugins": {
8        "@vue/cli-plugin-babel": {},
9        "@vue/cli-plugin-eslint": {
10          "config": "prettier",
11          "lintOn": [
12            "save"
13          ]
14        },
15        "@vue/cli-plugin-unit-jest": {}
16      },
17      "router": true,
18      "vuex": true
19    }
20  }
21}

پلاگین‌ها

همچنان که از پیکربندی می‌توان مشاهده کرد، یک preset اساساً مجموعه‌ای از پلاگین‌ها است که برخی پیکربندی‌های آن اختیاری است.

زمانی که پروژه ایجاد شد، می‌توانید پلاگین‌های بیشتری را با استفاده از vue add اضافه کنید:

vue add @vue/cli-plugin-babel

همه این پلاگین‌ها که استفاده می‌کنیم، در آخرین نسخه از Vue موجود هستند. می‌توان با ارسال شماره نسخه، Vue CLI را ملزم کرد که از یک نسخه خاصی استفاده کند:

"@vue/cli-plugin-eslint": { "version": "^3.0.0"}

این وضعیت زمانی مفید است که یک نسخه جدید تغییری داشته باشد که موجب از کار افتادن پروژه شود یا با باگ مواجه باشد. در این حالت باید پیش از استفاده از آن کمی صبر کنید و در این مدت می‌توانید از روش فوق استفاده کنید.

ذخیره preset-ها به صورت ریموت

Preset را می‌توان در گیت‌هاب یا سرویس‌های دیگر از طریق ایجاد یک ریپازیتوری که شامل فایل preset.json است نیز ذخیره کرد. این ریپازیتوری شامل یک پیکربندی preset منفرد خواهد بود.

با توجه به مطالب فوق ما یک preset ساده ایجاد کرده‌ایم که شامل این پیکربندی است:

1{
2  "useConfigFiles": true,
3  "plugins": {
4    "@vue/cli-plugin-babel": {},
5    "@vue/cli-plugin-eslint": {
6      "config": "prettier",
7      "lintOn": [
8        "save"
9      ]
10    },
11    "@vue/cli-plugin-unit-jest": {}
12  },
13  "router": true,
14  "vuex": true
15}

می‌توان از آن برای بوت‌استرپ کردن یک اپلیکیشن جدید با استفاده از کد زیر استفاده کرد:

vue create --preset flaviocopes/vue-cli-preset example3

استفاده دیگر از Vue CLI: ساخت پروتوتایپ سریع

تا به اینجا شیوه استفاده از Vue CLI برای ساخت یک پروژه جدید از صفر را با همه جزئیاتش توضیح دادیم. اما برای ساخت یک پروتوتایپ سریع می‌توان یک اپلیکیشن Vue کاملاً ساده ایجاد کرد و آن را بدون نیاز به دانلود همه وابستگی‌ها در پوشه node_modules عرضه نمود.

ابتدا باید پکیج سراسری cli-service-global را نصب کنید:

npm install -g @vue/cli-service-global

یا

yarn global add @vue/cli-service-global

فایلی به نام app.vue بسازید:

1<template>
2    <div>
3        <h2>Hello world!</h2>
4        <marquee>Heyyy</marquee>
5    </div>
6</template>

و آن را اجرا کنید:

vue serve app.vue

کدنویسی عملی Vue

شما می‌توانید پروژه‌های پیچیده‌تری که از فایل‌های جاوا اسکریپت و HTML تشکیل یافته‌اند را نیز عرضه کنید. Vue CLI به صورت پیش‌فرض از main.js / index.js به عنوان نقطه ورود خود استفاده می‌کند و می‌توانید فایل package.json و هر ابزار دیگر پیکربندی را نیز داشته باشد. دستور vue serve این فایل‌ها را در نظر می‌گیرد.

از آنجا که این وابستگی‌های سراسری مورد استفاده قرار می‌گیرند، یک رویکرد اختیاری برای چیزی به جز نمایش یا تست سریع محسوب نمی‌شود.

اجرای دستور vue build پروژه را برای توسعه در dist/ آماده می‌کند و همه کدهای متناظر را تولید خواهد کرد.

Webpack

Vue CLI به صوت داخلی از Webpack استفاده می‌کند، اما پیکربندی آن جدا است و ما حتی فایل پیکربندی را در پوشه خود نمی‌بینیم. با این حال همچنان می‌توان با فراخوانی vue inspect به آن دسترسی داشت:

کدنویسی عملی Vue

DevTools در Vue

زمانی که اولین بار به صورت عملی از Vue استفاده می‌کنید، اگر ابزار Developer مرورگر را باز کنید این پیام را مشاهده می‌کنید:

Download the Vue Devtools extension for a better development experience: https://github.com/vuejs/vue-devtools

کدنویسی عملی Vue

این یک یادآوری برای نصب اکستنشن Devtools برای Vue است. هر فریمورک محبوبی اکستنشن Devtools خاص خود را دارد که به طور کلی یک پنل جدید به ابزارهای توسعه‌دهندگان مرورگر اضافه می‌کند و نسبت به آن‌هایی که مرورگر به صورت عمومی ارائه می‌کنند تخصصی‌تر است. در این مورد این پنل امکان بازرسی اپلیکیشن Vue و تعامل با آن را به ما می‌دهد.

این ابزار در زمان ساخت اپلیکیشن‌های Vue کمک زیادی به ما می‌کند. ابزارهای توسعه‌دهندگان زمانی که در حالت توسعه هستیم تنها می‌توانند یک اپلیکیشن Vue را بازرسی کنند. بدین ترتیب این اطمینان ایجاد می‌شود که کسی از آن‌ها نمی‌تواند برای تعامل با اپلیکیشن پروداکشن استفاده کند و موجب پایدارتر شدن Vue می‌شود زیرا لازم نیست در مورد Dev Tools نگرانی داشته باشد.

در ادامه آن را نصب می‌کنیم. به این منظور 3 روش وجود دارد:

  • روی کروم
  • روی فایرفاکس
  • به عنوان اپلیکیشن مستقل

سافاری، Edge و دیگر مرورگرها از اکستنشن سفارشی پشتیبانی نمی‌کنند، اما با استفاده از اپلیکیشن مستقل می‌توان یک اپلیکیشن Vue.js را در هر مرورگری دیباگ کرد.

نصب روی کروم

به صفحه اکستنشن گوگل کروم (+) بروید و روی دکمه Add to Chrome کلیک کنید.

کدنویسی عملی Vue

بدین ترتیب وارد فرایند نصب می‌شوید:

کدنویسی عملی Vue

آیکون devtools در Vue.js در نوار ابزار دیده می‌شود. اگر صفحه دارای یک وهله اجرایی از Vue.js نباشد، رنگ آن خاکستری خواهد بود.

کدنویسی عملی Vue

اگر Vue.js تشخیص داده شود این آیکون به صورت یک لوگوی رنگی درمی‌آید:

کدنویسی عملی Vue

این آیکون کاری به جز نمایش این که یک وهله از Vue.js وجود دارد انجام نمی‌دهد. برای استفاده از devtools باید با مراجعه به مسیر View → Developer → Developer Tools و یا فشردن کلیدهای Cmd+Alt+I پنل Developer Tools را باز کنیم:

کدنویسی عملی Vue

نصب روی فایرفاکس

برای نصب اکستنشن dev tools روی فایرفاکس باید به فروشگاه افزونه‌های موزیلا (+) بروید.

کدنویسی عملی Vue

روی دکمه Add to Firefox کلیک کنید تا اکستنشن شروع به نصب کند. همانند کروم، یک آیکون خاکستری در نوار ابزار نمایان خواهد شد.

کدنویسی عملی Vue

زمانی که از وب‌سایتی بازدید کنید که دارای وهله اجرایی Vue است، این آیکون به رنگ سبز درمی‌آید و زمانی که DevTools را باز کنید با یک پنل اختصاصی Vue مواجه می‌شوید:

کدنویسی عملی Vue

نصب اپلیکیشن مستقل

به طور جایگزین می‌توان از اپلیکیشن مستقل DevTools نیز استفاده کرد. برای نصب آن کافی است دستور زیر را اجرا کنید:

npm install -g @vue/devtools

یا

yarn global add @vue/devtools

برای اجرا نیز باید دستور زیر را اجرا کنید:

vue-devtools

بدین ترتیب اپلیکیشن مستقل Vue مبتنی بر الکترون باز می‌شود. اینک تگ اسکریپت را که به شما نشان می‌دهد، درون فایل index.html بچسبانید:

<script src="https://localhost:8098"></script>

و صبر کنید تا اپلیکیشن مجدداً بارگذاری شود. بدین ترتیب به صورت خودکار به اپلیکیشن وصل می‌شود:

کدنویسی عملی Vue

شیوه استفاده از ابزارهای Developer

چنان که پیش‌تر اشاره کردیم، DevTools در Vue می‌تواند با باز کردن ابزارهای توسعه‌دهندگان در مرورگر و رفتن به پنل Vue فعال شود.

گزینه دیگر این است که روی هر عنصری در صفحه راست+کلیک کنید و گزینه Inspect Vue component را انتخاب نمایید:

کدنویسی عملی Vue

زمانی که پنل DevTools مربوط به Vue باز شد، می‌توانیم به درخت کامپوننت‌ها برویم. زمانی که یک کامپوننت را از لیست چپ انتخاب کنم، پنل راست props و داده‌های آن را نمایش می‌دهد:

کدنویسی عملی Vue

در بخش فوقانی چهار دکمه وجود دارد:

  • Components (پنل کنونی) که همه وهله‌های کامپوننت را که در صفحه جاری فعال هستند نمایش می‌دهد. Vue می‌تواند همزمان چندین وهله داشته باشد. برای نمونه با آن می‌توانید ویجت سبد خرید و اسلاید شو را با اپلیکیشن‌های سبک مختلف مدیریت کنید.
  • Vuex جایی است که می‌توان state مدیریت‌شده از طریق Vuex را مشاهده کرد.
  • Events همه رویدادهای صادرشده را نشان می‌دهد.
  • Refresh پنل devtools را مجدداً بارگذاری می‌کند.

عبارت کوچک ‎= $vm0‎ کنار یک کامپوننت در واقع روشی کارآمد برای بررسی یک کامپوننت با استفاده از کنسول است. فشردن کلید esc کنسول را در انتهای devtools نمایان می‌کند و می‌توانید ‎$vm0 را برای دسترسی به کامپوننت vue تایپ کنید:

کدنویسی عملی Vue

بررسی و تعامل با کامپوننت‌ها بدون نیاز به انتساب یک متغیر سراسری در کد بسیار جالب است.

فیلتر کردن کامپوننت‌ها

اگر شروع به وارد کردن نام یک کامپوننت بکنید، درخت کامپوننت‌ها فیلتر می‌شود و تنها آن‌هایی که مطابقت دارند باقی می‌مانند.

کدنویسی عملی Vue

  • انتخاب یک کامپوننت در صفحه: روی دکمه Select component in the page کلیک کنید.
    کدنویسی عملی Vue
  • بدین ترتیب می‌توانید ماوس را روی هر کامپوننتی در صفحه ببرید و روی آن کلیک کنید تا در devtools باز شود.
  • قالب‌بندی نام‌های کامپوننت: می‌توان نام کامپوننت‌ها را به صورت نامگذاری camelCase یا استفاده از خط تیره تعیین کرد.
  • فیلتر کردن داده‌های بررسی‌ شده: در پنل راست می‌توان هر کلمه‌ای را وارد کرد تا مشخصه‌هایی ک مطابقت ندارند فیلتر شوند.
  • بررسی DOM: روی دکمه Inspect DOM کلیک کنید تا به بخش بررسی عناصر DevTools بروید. در اینجا همه عناصر DOM که توسط کامپوننت ساخته شده‌اند دیده می‌شوند:

کدنویسی عملی

باز کردن در ادیتور

هر کامپوننت کاربر (یعنی به غیر از کامپوننت‌های در سطح فریمورک) دکمه‌ای دارد که آن را در ادیتور پیش‌فرض باز می‌کند و امکان کارآمدی محسوب می‌شود. بدین ترتیب به پایان بخش سوم سری مقالات آموزش جامع Vue می‌رسیم. در بخش بعدی با روش راه‌اندازی VS Code و کار با Vue آشنا خواهیم شد. برای مطالعه بخش بعدی روی لینک زیر کلیک کنید:

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
freecodecamp
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *