برنامه نویسی

از rsync برای همگام‌سازی یک Node Project با Dropbox و نادیده گرفتن پوشه ماژول‌های گره استفاده کنید.

هنگام کار بر روی پروژه های Node.js، معمول است که تعداد زیادی وابستگی در node_modules پوشه این پوشه می تواند بسیار بزرگ باشد و هنگام پشتیبان گیری یا انتقال پروژه به Dropbox، روند همگام سازی را کند کند.

برای غلبه بر این مشکل، می‌توانید از rsync، یک ابزار خط فرمان قدرتمند برای همگام‌سازی فایل‌ها و فهرست‌ها، به همراه یک اسکریپت bash استفاده کنید. node_modules پوشه و همچنین فیلتر کردن هر چیزی در a .gitignore فایلی که شما مشخص می کنید در این مقاله، من شما را از طریق فرآیند راه‌اندازی و استفاده از این اسکریپت bash برای همگام‌سازی پروژه Node.js راهنمایی می‌کنم در حالی که node_modules پوشه

مرحله 1: اسکریپت Bash را ایجاد کنید

برای شروع، ویرایشگر متن مورد علاقه خود را باز کنید و یک فایل جدید ایجاد کنید. شما می توانید آن را چیزی شبیه به آن نام ببرید sync-node-projects.sh. کد زیر را در فایل قرار دهید:

#!/usr/bin/env bash

set -e # Exit on error

src_dir="$HOME/Projects/"
dest_dir="$HOME/Dropbox/Projects-Backup/"

# run rsync
rsync -a --delete \
  --filter=':- .gitignore' \
  --exclude='node_modules' \
  --exclude='.git' \
  --exclude='.DS_Store' \
  --chmod='F-w' \
  "$src_dir" "$dest_dir"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بیایید اسکریپت را مرور کنیم و بفهمیم که هر قسمت چه کاری انجام می دهد:

  • خط اول (#!/usr/bin/env bash) مفسر اسکریپت را به صورت bash مشخص می کند.
  • را set -e فرمان تضمین می‌کند که اگر دستوری در داخل آن وضعیت غیر صفر را بازگرداند، فوراً از اسکریپت خارج می‌شود که نشان‌دهنده یک خطا است.
  • را src_dir متغیر مسیر دایرکتوری منبع را مشخص می کند، جایی که پروژه Node.js شما در آن قرار دارد. آن را با مسیر مناسب برای سیستم خود به روز کنید.
  • را dest_dir متغیر مسیر دایرکتوری مقصد را مشخص می کند، جایی که می خواهید از پروژه خود نسخه پشتیبان تهیه یا انتقال دهید. آن را مطابق با نیاز خود تغییر دهید.
  • را rsync دستور وظیفه همگام سازی فایل ها و دایرکتوری ها را بر عهده دارد. بیایید گزینه های آن را بررسی کنیم:
    • را -a flag مخفف “حالت بایگانی” است و راهی مناسب برای همگام‌سازی فایل‌ها با حفظ مجوزها، مالکیت و سایر ویژگی‌های آن‌ها است.
    • را --delete این گزینه تضمین می کند که هر فایل یا دایرکتوری که در مقصد وجود دارد اما در منبع وجود ندارد در طول همگام سازی حذف می شود. این کمک می کند تا هر دو مکان یکسان باشند.
    • را --filter=":- .gitignore" پرچم فایل ها و دایرکتوری های مشخص شده در .gitignore فایل از همگام سازی این تضمین می کند که فایل های نادیده گرفته شده توسط Git نیز توسط rsync نادیده گرفته می شوند.
    • را --exclude="node_modules" گزینه به rsync می گوید از همگام سازی رد شود node_modules پوشه، که می تواند بزرگ و غیر ضروری برای اهداف پشتیبان یا انتقال باشد.
    • را --exclude=".git" پرچم مستثنی است .git پوشه، زیرا برای همگام سازی مورد نیاز نیست و می تواند بسیار بزرگ باشد.
    • را --exclude=".DS_Store" گزینه را مستثنی می کند .DS_Store فایلی که مخصوص macOS است و حاوی ابرداده‌هایی است که برای همگام‌سازی مرتبط نیستند.
    • را --chmod='F-w' flag مجوزهای نوشتن را از همه فایل‌ها در فهرست مقصد حذف می‌کند و اطمینان می‌دهد که فقط خواندنی باقی می‌مانند. این از تغییرات تصادفی در مکان پشتیبان جلوگیری می کند.

مرحله 2: اسکریپت را ذخیره و اجرایی کنید

پس از چسباندن اسکریپت در ویرایشگر متن خود، فایل را ذخیره کرده و با استفاده از ترمینال به مکانی که آن را ذخیره کرده اید بروید. برای اینکه اسکریپت قابل اجرا باشد، دستور زیر را اجرا کنید:

chmod +x sync-node-project.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

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

مرحله 3: اسکریپت را اجرا کنید

برای همگام سازی پروژه Node.js، یک ترمینال را باز کنید و به محل اسکریپت بروید. اسکریپت را با اجرای دستور زیر اجرا کنید:

./sync-node-project.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اسکریپت شروع به همگام سازی پروژه Node.js شما از دایرکتوری منبع (src_dir) به دایرکتوری مقصد (dest_dir) به استثنای node_modules پوشه

نتیجه

تبریک می گویم! شما با موفقیت یک اسکریپت bash راه‌اندازی کردید که از rsync برای همگام‌سازی پروژه Node.js استفاده می‌کند و در عین حال node_modules پوشه با حذف این پوشه از فرآیند همگام سازی، می توانید در زمان و مکان صرفه جویی کنید، مخصوصاً هنگام کار با پروژه های بزرگ. به یاد داشته باشید که هر زمان که می خواهید پروژه خود را همگام سازی کنید، اسکریپت را اجرا کنید و همه تغییرات شما با حفظ موارد غیر ضروری منتقل می شود. node_modules پوشه خارج از معادله

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا