"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء ونشر حزم TypeScript على NPM

كيفية إنشاء ونشر حزم TypeScript على NPM

تم النشر بتاريخ 2024-08-27
تصفح:389

Como Criar e Publicar Pacotes TypeScript no NPM
مع تزايد شعبية TypeScript، يقوم العديد من المطورين بإنشاء حزم مكتوبة بشكل ثابت للاستفادة من المزايا التي توفرها اللغة. في هذا المنشور، سنغطي عملية إنشاء ونشر حزمة NPM باستخدام TypeScript.


1. تهيئة البيئة

تأكد من تثبيت Node.js وNPM وTypeScript. يمكنك تثبيت TypeScript عالميًا باستخدام:

npm install -g typescript

تأكد من تثبيت كل شيء بشكل صحيح:

node -v
npm -v
tsc -v

2. إنشاء المشروع

ابدأ بإنشاء دليل لمشروعك:

mkdir meu-pacote-typescript
cd meu-pacote-typescript

تهيئة مشروع Node.js:

npm init

سيؤدي هذا إلى إنشاء ملف package.json حيث يمكنك تحديد معلومات الحزمة الأساسية.

3. تكوين TypeScript

الآن، قم بتهيئة مشروع TypeScript:

tsc --init

سيؤدي هذا إلى إنشاء ملف tsconfig.json. قم بتحريره حسب الحاجة، ولكن الإعداد الشائع هو كما يلي:

{
  "compilerOptions": {
    "target": "ES6",
    "module": "CommonJS",
    "declaration": true,
    "outDir": "./dist",
    "strict": true
  },
  "include": ["src/**/*"]
}

هنا، نقوم بتكوين مترجم TypeScript لإنشاء تعليمات برمجية ES6، باستخدام وحدات CommonJS، وتضمين إعلانات النوع (التصريح: صحيح). سيتم وضع الكود المترجم في الدليل dist.

.

4. كتابة الكود

قم بإنشاء دليل src وداخله ملف Index.ts:

mkdir src
touch src/index.ts

في ملف Index.ts، اكتب رمز الحزمة الخاصة بك. لنقم بإنشاء دالة بسيطة لتحويل السلاسل النصية إلى أحرف كبيرة:

export function toUpperCase(str: string): string {
  return str.toUpperCase();
}

5. تجميع الكود

ترجمة TypeScript إلى JavaScript:

tsc

سيؤدي هذا إلى إنشاء ملفات جافا سكريبت وكتابة الإعلانات في دليل التوزيع.

6. اختبار الحزمة محليًا

لاختبار الحزمة الخاصة بك، يمكنك تثبيتها محليًا في مشروع آخر:

  1. في دليل المشروع الاختباري، قم بتشغيل:
   npm install ../caminho-para-o-diretorio-do-seu-pacote/dist
  1. استخدم الوظيفة في مشروع الاختبار:
   import { toUpperCase } from 'nome-do-seu-pacote';

   console.log(toUpperCase('hello world')); // "HELLO WORLD"

يضمن هذا أن كلاً من تعليمات JavaScript البرمجية وإعلانات النوع تعمل بشكل صحيح.

7. النشر على NPM

إذا كان كل شيء يعمل بشكل صحيح، فأنت جاهز لنشر الحزمة الخاصة بك.

  1. تسجيل الدخول إلى NPM

إذا لم يكن لديك حساب NPM بالفعل، فقم بإنشاء حساب وقم بتسجيل الدخول:

   npm login
  1. النشر

قبل النشر، قم بإضافة برنامج نصي للإنشاء إلى package.json:

   "scripts": {
     "build": "tsc"
   }

وأضف مسار الإخراج في package.json:

   "main": "dist/index.js",
   "types": "dist/index.d.ts"

الآن قم بتجميع ونشر:

   npm run build
   npm publish

إذا كان اسم الحزمة موجودًا بالفعل، فستحتاج إلى اختيار اسم جديد.

8. تحديث الحزمة

لنشر إصدار جديد، قم بتغيير الإصدار في package.json، وقم بتشغيل npm run build مرة أخرى، ثم انشر:

npm publish

9. أفضل الممارسات

  • التوثيق: قم بتضمين ملف README.md يشرح كيفية استخدام الحزمة الخاصة بك.
  • الاختبارات: اكتب الاختبارات باستخدام أطر عمل مثل Jest لضمان عمل التعليمات البرمجية كما هو متوقع.
  • الفحص: استخدم أدوات مثل ESLint وPrettier للحفاظ على جودة التعليمات البرمجية.
  • إصدار: اتبع SemVer لإصدار الحزمة الخاصة بك.

خاتمة

لا يؤدي إنشاء حزم TypeScript ونشرها على NPM إلى تحسين جودة التعليمات البرمجية فحسب، بل يوفر أيضًا فوائد الكتابة لأولئك الذين يستهلكون حزمتك. باتباع هذا الدليل، ستكون جاهزًا لمشاركة حلولك مع مجتمع JavaScript وTypeScript، مما يساهم في إنشاء نظام بيئي تطويري أقوى وأكثر قوة.

الآن بعد أن عرفت العملية، ما رأيك في البدء في إنشاء حزمة TypeScript التالية؟

بيان الافراج تم نشر هذه المقالة على: https://dev.to/lucaspereiradesouzat/como-criar-e-publicar-pacotes-typescript-no-npm-3gd4?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3