TypeScript یک زبان برنامه‌نویسی متن‌باز است که مایکروسافت توسعه داده است و بر اساس زبان JavaScript طراحی شده است. هدف اصلی TypeScript، افزودن امکاناتی به JavaScript است که به توسعه‌دهندگان در ایجاد کدهای امن‌تر، خواناتر و مقیاس‌پذیرتر کمک می‌کند. یکی از این قابلیت‌ها اضافه کردن نوع‌دهی ایستا (Static Typing) است. تا پایان این مقاله با رادیب همراه باشید تا در این مورد اطلاعات بیشتری کسب کنید. 

فایل‌های TypeScript دارای پسوند .ts هستند و قبل از اجرا در مرورگر یا محیط Node.js باید به JavaScript کامپایل شوند. این زبان برای پروژه‌های بزرگ که نیاز به سازمان‌دهی بهتر و جلوگیری از خطاهای runtime دارند بسیار محبوب است.


مفهوم Symlink در پروژه‌های Node.js

Symlink مخفف Symbolic Link به معنی لینک نمادین است. در سیستم‌های فایل، این قابلیت به شما امکان می‌دهد به یک فایل یا دایرکتوری دیگر اشاره کنید، بدون اینکه نیاز باشد کپی واقعی از آن وجود داشته باشد.

خرید سرور مجازی ایران و 20 کشور دیگر در رادیب، کلیک کنید

در پروژه‌های Node.js و TypeScript، گاهی نیاز دارید که چند پروژه از یک ماژول یا کتابخانه مشترک استفاده کنند. به جای نصب دستی یا کپی این ماژول در هر پروژه، می‌توانید با ایجاد Symlink به نسخه اصلی آن اشاره کنید. این کار مزایای زیادی دارد:

مزایای استفاده از Symlink در پروژه‌های TypeScript

  • صرفه‌جویی در حافظه: نیازی به داشتن چند کپی از یک ماژول نیست.
  • به‌روزرسانی سریع‌تر: هر تغییری که در ماژول اصلی انجام دهید، بلافاصله در پروژه‌های مرتبط اعمال می‌شود.
  • توسعه سریع‌تر: نیازی به نصب مجدد پکیج‌های Node.js برای هر پروژه ندارید.

مراحل ایجاد Symlink در Node.js برای TypeScript

فرض کنید ما دو پروژه داریم:

  1. library-project: پروژه‌ای که یک کتابخانه TypeScript است.
  2. main-project: پروژه‌ای که از این کتابخانه استفاده می‌کند.

مرحله 1: لینک کردن ماژول کتابخانه به Node.js

ابتدا به دایرکتوری library-project بروید و دستور زیر را اجرا کنید:

npm link
Bash

این دستور باعث می‌شود که Node.js یک Symlink از این پروژه در مخزن پکیج‌های گلوبال ایجاد کند.

مرحله 2: اتصال به پروژه اصلی

اکنون به دایرکتوری main-project بروید و دستور زیر را اجرا کنید:

npm link library-project
Bash

این دستور Symlink پروژه کتابخانه را به node_modules پروژه اصلی اضافه می‌کند.

ثبت دامنه در کمتر از 2 دقیقه در رادیب، کلیک کنید


مثال‌های عملی

مثال 1: ایجاد یک کتابخانه ساده TypeScript

فایل index.ts در پروژه library-project:

export const greet = (name: string): string => {
  return `سلام، ${name}! خوش آمدی!`;
};
TypeScript

پس از اجرای دستورات npm link و npm link library-project در پروژه main-project، می‌توانید به این صورت از کتابخانه استفاده کنید:

ربات اینستاگرام رادیب، به شما در رشد بیشتر کمک می کند، ثبت نام رایگان

import { greet } from 'library-project';

console.log(greet('رضا'));
TypeScript

مثال 2: تغییرات فوری در کتابخانه

اگر در پروژه library-project تغییر زیر را اعمال کنیم:

export const greet = (name: string): string => {
  return `سلام دوست عزیز، ${name}! امیدوارم روز خوبی داشته باشی!`;
};
TypeScript

بدون نیاز به نصب مجدد یا کپی‌برداری، این تغییر بلافاصله در main-project اعمال می‌شود.


رفع مشکلات رایج

1. مشکل عدم شناسایی Symlink توسط TypeScript

در فایل tsconfig.json پروژه اصلی، مطمئن شوید که ویژگی baseUrl و paths تنظیم شده باشند:

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "library-project": ["node_modules/library-project"]
    }
  }
}
JSON

2. مشکل دسترسی به ماژول در محیط‌های CI/CD

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

npm install ./path-to-library-project
Bash

جمع‌بندی

ایجاد Symlink در Node.js و TypeScript راهکاری موثر برای مدیریت کتابخانه‌های مشترک در چندین پروژه است. این روش به توسعه‌دهندگان کمک می‌کند تا تغییرات سریع‌تری در پروژه‌های مرتبط اعمال کنند و حافظه سیستم را بهینه‌تر استفاده کنند.

Bu cavab sizə kömək etdi? 88 istifadəçi bunu faydalı hesab edir (88 səs)