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
فرض کنید ما دو پروژه داریم:
library-project
: پروژهای که یک کتابخانه TypeScript است.main-project
: پروژهای که از این کتابخانه استفاده میکند.
مرحله 1: لینک کردن ماژول کتابخانه به Node.js
ابتدا به دایرکتوری library-project
بروید و دستور زیر را اجرا کنید:
npm link
این دستور باعث میشود که Node.js یک Symlink از این پروژه در مخزن پکیجهای گلوبال ایجاد کند.
مرحله 2: اتصال به پروژه اصلی
اکنون به دایرکتوری main-project
بروید و دستور زیر را اجرا کنید:
npm link library-project
این دستور Symlink پروژه کتابخانه را به node_modules
پروژه اصلی اضافه میکند.
ثبت دامنه در کمتر از 2 دقیقه در رادیب، کلیک کنید
مثالهای عملی
مثال 1: ایجاد یک کتابخانه ساده TypeScript
فایل index.ts
در پروژه library-project
:
export const greet = (name: string): string => {
return `سلام، ${name}! خوش آمدی!`;
};
پس از اجرای دستورات npm link
و npm link library-project
در پروژه main-project
، میتوانید به این صورت از کتابخانه استفاده کنید:
ربات اینستاگرام رادیب، به شما در رشد بیشتر کمک می کند، ثبت نام رایگان
import { greet } from 'library-project';
console.log(greet('رضا'));
مثال 2: تغییرات فوری در کتابخانه
اگر در پروژه library-project
تغییر زیر را اعمال کنیم:
export const greet = (name: string): string => {
return `سلام دوست عزیز، ${name}! امیدوارم روز خوبی داشته باشی!`;
};
بدون نیاز به نصب مجدد یا کپیبرداری، این تغییر بلافاصله در main-project
اعمال میشود.
رفع مشکلات رایج
1. مشکل عدم شناسایی Symlink توسط TypeScript
در فایل tsconfig.json
پروژه اصلی، مطمئن شوید که ویژگی baseUrl
و paths
تنظیم شده باشند:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"library-project": ["node_modules/library-project"]
}
}
}
2. مشکل دسترسی به ماژول در محیطهای CI/CD
در محیطهای تولید، ممکن است Symlink به درستی شناسایی نشود. در این حالت توصیه میشود به جای Symlink از نصب پکیج به صورت مستقیم استفاده کنید:
npm install ./path-to-library-project
جمعبندی
ایجاد Symlink در Node.js و TypeScript راهکاری موثر برای مدیریت کتابخانههای مشترک در چندین پروژه است. این روش به توسعهدهندگان کمک میکند تا تغییرات سریعتری در پروژههای مرتبط اعمال کنند و حافظه سیستم را بهینهتر استفاده کنند.