TypeScript: تثبيت TypeScript وتهيئته
آخر تحديث: 2026-08-26
لا يتطلب تثبيت TypeScript سوى أمر واحد، لكن إعداد بيئة التطوير الخاصة بك يتطلب فهم بعض المفاهيم الأساسية — وسيرشدك هذا الدرس إلى كيفية إعداد «مساحة العمل» الخاصة بك في TypeScript من الصفر.
1. تثبيت TypeScript
يتم تثبيت TypeScript عبر npm (مدير الحزم الخاص بـ Node.js). ستحتاج أولاً إلى تثبيت Node.js على جهاز الكمبيوتر الخاص بك.
(1) تحقق من تثبيت Node.js
افتح «المحطة الطرفية» (PowerShell في نظام Windows، و«Terminal» في نظام macOS)، واكتب:
node --version
npm --version
إذا رأيت رقم إصدار (مثل v18.17.0 و9.6.3)، فهذا يعني أنه مثبت بالفعل. إذا ظهرت لك رسالة الخطأ «لم يتم العثور على الأمر»، فيُرجى الانتقال إلى الموقع الرسمي لـ Node.js لتنزيل الإصدار LTS وتثبيته أولاً.
(2) تثبيت TypeScript على مستوى النظام
npm install -g typescript
يشير -g إلى تثبيت شامل؛ وبمجرد التثبيت، يمكنك استخدام الأمر tsc من أي دليل.
(3) التحقق من نجاح عملية التثبيت
tsc --version
إذا رأيت ناتجًا مشابهًا لـ Version 5.3.3، فهذا يعني أن التثبيت قد تم بنجاح.
▶ مثال: التحقق من حالة تثبيت TypeScript
# Execute the following commands in order,Confirm that the environment is ready
node --version
npm --version
tsc --version
الناتج:
v18.17.0
9.6.3
Version 5.3.3
tsc --version بعدم العثور على الأمر، فمن المحتمل أن دليل التثبيت العام لـ npm لم يُضف إلى متغير PATH في نظامك. في نظام Windows، جرب إعادة تشغيل المحطة الطرفية؛ أما في أنظمة macOS/Linux، فقم بإعادة التثبيت باستخدام sudo npm install -g typescript.
2. ملف tsconfig.json الأول
tsconfig.json هو ملف تكوين لمشاريع TypeScript يحدد للمترجم كيفية معالجة الكود الخاص بك. وعلى الرغم من أن المشاريع البسيطة قد لا تحتاج إليه، إلا أن معظم مشاريع TS في مجال التطوير الفعلي تتضمن هذا الملف.
(1) الإنشاء السريع
في دليل المشروع، قم بتشغيل الأمر التالي:
tsc --init
سيؤدي ذلك تلقائيًا إلى إنشاء ملف tsconfig.json يحتوي على جميع الخيارات القابلة للتكوين (معظمها مُعلَّق).
(2) شرح خيارات التكوين الرئيسية
يحتوي ملف التكوين الذي تم إنشاؤه حديثًا على الكثير من المعلومات، لكن على المبتدئين التركيز فقط على هذه النقاط القليلة:
{
"compilerOptions": {
"target": "ES2016",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "./dist",
"rootDir": "./src",
"skipLibCheck": true
}
}
| خيار التكوين | الوظيفة | القيمة الموصى بها |
|---|---|---|
target |
نسخة JS المُجمَّعة | "ES2016" أو "ES2020" |
module |
نظام الوحدات | "commonjs" (Node.js) أو "ES2015" (المتصفح) |
strict |
تمكين جميع عمليات التدقيق الصارم للأنواع | true—يجب تمكينه |
esModuleInterop |
السماح بالاستيراد الافتراضي من أجل التوافق | true |
outDir |
مجلد إخراج التجميع | "./dist" |
rootDir |
دليل شفرة المصدر | "./src" |
skipLibCheck |
تخطي التحقق من أنواع المكتبات الخارجية | true (تسريع الترجمة) |
strict: true هو «المفتاح الرئيسي» لـ TypeScript. فهو يُفعّل خيارات متعددة للتدقيق الصارم — بما في ذلك noImplicitAny وstrictNullChecks وstrictFunctionTypes — دفعة واحدة. ورغم أنك قد ترى المزيد من الأخطاء في البداية، فإن هذه هي بالضبط المشكلات التي يجب عليك إصلاحها. لا تقم بإيقاف تشغيله — فإيقاف تشغيل strict يعني التخلي عن معظم مزايا TypeScript.
▶ مثال: ملف tsconfig.json مناسب لهذا الدرس
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "./dist",
"rootDir": "./src",
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
الناتج:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "./dist",
"rootDir": "./src",
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
]
}
include الملفات التي سيتم تضمينها في عملية التجميع (src/**/* يشير إلى جميع الملفات الموجودة في دليل src)، بينما يستبعد exclude الدلائل التي لا تحتاج إلى التجميع.
3. إعدادات VS Code
يُعتبر كل من VS Code وTypeScript «شقيقين» — فكلاهما من منتجات Microsoft، ويدعم VS Code لغة TypeScript بشكل افتراضي، دون الحاجة إلى تثبيت أي ملحقات إضافية.
(1) الميزات المدمجة
يأتي VS Code مزودًا بدعم مدمج للغة TypeScript، والذي يوفر:
- يتم تمييز أخطاء الكتابة في الوقت الفعلي باللون الأحمر (خط تحت متعرج)
- الإكمال التلقائي (اكتب
.لعرض اقتراحات للخصائص والطرق) - مرر مؤشر الفأرة فوق عنصر ما لعرض نوعه
- اضغط على المفتاح F12 للانتقال إلى التعريف
- اضغط على المفتاح F2 لإعادة تسمية متغير (يتم تحديث جميع الإشارات إليه تلقائيًا)
(2) المكونات الإضافية الموصى بها
| المكون الإضافي | الوظيفة |
|---|---|
| TSLint (أو ESLint مع المكون الإضافي لـ TypeScript) | فحص أسلوب الكتابة البرمجية، وتحديد المشكلات المحتملة |
| Prettier | يقوم بتنسيق الكود تلقائيًا وتوحيد أسلوب البرمجة داخل الفريق |
| Code Runner | تشغيل ملفات TS مباشرةً داخل المحرر (التجميع والتنفيذ التلقائيان) |
(3) تهيئة التجميع التلقائي
في VS Code، اضغط على Ctrl+Shift+B (Cmd+Shift+B في نظام macOS)، ثم حدد tsc: watch، وسيقوم VS Code بمراقبة التغييرات التي تطرأ على الملف في الخلفية — ففي كل مرة تقوم فيها بحفظ الملف .ts، سيقوم البرنامج تلقائيًا بترجمة الملف إلى .js، لذا لن تحتاج إلى تشغيل tsc يدويًّا.
tsc: watch يشبه «المترجم الآلي» — فما أن تكتب جملة باللغة الصينية حتى يترجمها لك على الفور إلى الإنجليزية. أبقِ هذا الوضع قيد التشغيل طوال الوقت أثناء البرمجة، وستتضاعف كفاءتك.
4. هيكل مجلدات المشروع
يبدو مشروع TypeScript القياسي كما يلي:
my-project/
├── src/ ← TypeScript Source Code
│ ├── index.ts ← Input File
│ └── utils.ts ← Tools Module
├── dist/ ← Compilation output JavaScript(Automatically Generated,Do not edit manually)
│ ├── index.js
│ └── utils.js
├── tsconfig.json ← TypeScript Layout
├── package.json ← Node.js Project Configuration
└── node_modules/ ← Dependency Packages(Automatically Generated,Do not submit to git)
dist/ تلقائيًّا بواسطة المُجمِّع؛ لا تقم أبدًا بتعديل الملفات الموجودة بداخله يدويًّا. وحتى لو قمت بذلك، فلن يُحدث ذلك أي فرق — حيث سيتم استبدالها في المرة التالية التي تقوم فيها بالتجميع. يجب إجراء جميع التغييرات في الملف .ts الموجود في src/.
5. حل المشكلات الشائعة المتعلقة بالتثبيت
| المشكلة | السبب | الحل |
|---|---|---|
tsc لم يتم العثور على الأمر |
npm غير موجود في مسار PATH | أعد تشغيل المحطة الطرفية؛ أو استخدم npx tsc بدلاً من ذلك |
npm install -g خطأ في الأذونات |
يتطلب macOS/Linux استخدام sudo | sudo npm install -g typescript |
| لا يعرض VS Code أخطاء الأنواع | الدليل الذي يحتوي على ملف tsconfig.json غير مفتوح | افتح الدليل الجذري للمشروع باستخدام خيار «فتح المجلد» |
| مخرجات التجميع موجودة في الموقع الخاطئ | تم تكوين outDir بشكل غير صحيح | تحقق من outDir وrootDir في tsconfig.json |
| تظهر التعليقات الصينية كأحرف مشوشة بعد الترجمة | ترميز الملف ليس UTF-8 | في VS Code، حدد «حفظ مع الترميز» في الزاوية السفلية اليمنى → UTF-8 |
▶ مثال: تجميع وتشغيل TypeScript باستخدام tsc
// src/hello.ts
function greet(name: string): string {
return `Hello, ${name}!`;
}
console.log(greet("TypeScript"));
الناتج:
// Executed successfully
# Compile and run
tsc src/hello.ts # Generates dist/hello.js
node dist/hello.js # Output: Hello, TypeScript!
الناتج:
tsc src/hello.ts → يقوم بالتجميع إلى dist/hello.js
node dist/hello.js → Hello, TypeScript!
tsc --watch (أو tsc -w) لإعادة التجميع التلقائي عند تغيير الملفات. يمكنك دمجه مع node --watch (Node 18+) للحصول على سير عمل إعادة تحميل تلقائي كامل.
❓ أسئلة شائعة
npm install typescript --save-dev، ثم استخدام npx tsc بدلاً من tsc. وتتمثل ميزة التثبيت المحلي في أن فريق المشروع يستخدم إصدارًا موحدًا من TypeScript، مما يتيح تجنب مشكلات مثل «يتم التحويل البرمجي هنا ولكن لا يتم هناك». ومع ذلك، فإن التثبيت الشامل أكثر ملاءمةً عندما تكون في مرحلة التعلم.strict في tsconfig.json؟tsc. ما عليك سوى إضافة «dist» إلى .gitignore.📖 ملخص
- تم التثبيت عبر
npm install -g typescript، وتم التحقق عبرtsc --version tsconfig.jsonهو العنصر الأساسي في تكوين المشروع؛ ويجب تمكينstrict: true- يدعم VS Code لغة TypeScript فور تثبيته؛ ونوصي بتمكين
tsc: watchالتجميع التلقائي - الهيكل القياسي للمشروع:
src/لشفرة المصدر، وdist/لنتائج عملية البناء؛ يرجى عدم تعديل المجلدdistيدويًّا - إذا واجهت مشكلة، فتحقق أولاً من مسار PATH وترميز الأحرف؛ فـ 90% من مشكلات التثبيت تنشأ عن هذين العاملين.
📝 تمارين
- تمرين أساسي (مستوى الصعوبة: ⭐): قم بتثبيت TypeScript على جهاز الكمبيوتر الخاص بك، وقم بتشغيل
tsc --versionللتحقق من نجاح التثبيت، وقم بتدوين رقم الإصدار. - مشكلة متقدمة (درجة الصعوبة ⭐⭐): أنشئ دليلًا للمشروع، وقم بتشغيل
tsc --initلإنشاءtsconfig.json، ثم قم بتعيينstrictإلىtrue، وoutDirإلى"./dist"، وrootDirإلى"./src". - التحدي (الصعوبة: ⭐⭐⭐): افتح دليل المشروع الذي أنشأته في الخطوة السابقة في VS Code، وقم بتكوين وضع التجميع التلقائي
tsc: watch، وحاول تعديل القيمةtargetفيtsconfig.json(بتغييرها من ES2020 إلى ES5). لاحظ كيف يتغير كود JS الذي تم إنشاؤه (تلميح: ستصبح الدوال السهمية دوال عادية).