يك محيط زمان اجرا ميباشد كه امكان نوشتن JavaScript در سمت سرور مجازي را ممكن مي كند. از زمان انتشار آن در سال 2011 به صورت گسترده پذيرفته شده است. نوشتن جاوا اسكريپت در سمت سرور مجازي مي تواند چالش برانگيز باشد زيرا پايه كد به دليل ماهيت زبان JavaScriptيعني تايپ ديناميك و سست گسترده مي شود.
توسعه دهندگان كه از زبان هاي ديگر به سراغ JavaScript مي آيند غالباً از عدم وجود تايپ استاتيك قوي شكايت دارند ، اما اينجاست كه TypeScript به كار مي آيد تا اين شكاف را برطرف كند.
TypeScript يك فوق مجموعه تايپ شده (اختياري) از JavaScript است كه مي تواند در ساخت و مديريت پروژه هاي بزرگ JavaScript كمك كند. مي تواند به عنوان JavaScript با ويژگيهاي اضافي مانند تايپ استاتيك قوي ، كامپايل و برنامه نويسي شي گرا در نظر گرفته شود.
توجه: از نظر فني TypeScript مجموعه اي فوق العاده از JavaScript است ، بدين معني كه كليه كد هاي JavaScript كدهاي TypeScript معتبر هستند.

در اينجا مزاياي استفاده از TypeScript آورده شده است:
1- تايپ استاتيك اختياري.
2- استنباط تايپ.
3- امكان استفاده از رابط ها.
در اين آموزش يك پروژه Node با TypeScript تنظيم مي كنيد. يك برنامه Express با استفاده از TypeScript ايجاد خواهيد كرد و آن را به كد JavaScript شسته و رفته و معتبر تبديل مي كنيد.
پيش نيازها
قبل از شروع اين راهنما ، به Node.js نصب شده بر روي دستگاه تان نياز خواهيد داشت. شما مي توانيد اين كار را با دنبال كردن آموزش نحوه نصب Node.js و ايجاد يك راهنماي توسعه محلي براي سيستم عامل خود انجام دهيد.
مرحله 1 – شروع يك پروژه npm
براي شروع ، يك پوشه جديد با نام node_project ايجاد كنيد و به آن ديركتوري برويد.
⦁ $ mkdir node_project

⦁ $ cd node_project

سپس ، آن را به عنوان يك پروژه npm آغاز كنيد:
⦁ $ npm init

بعد از اجراي npm init ، بايد اطلاعاتي در مورد پروژه خود به npm ارائه كنيد. اگر ترجيح مي دهيد npm پيش فرض هاي معقولي را تصور كند ، مي توانيد پرچم y را اضافه كنيد تا اعلان هاي درخواست اطلاعات بيشتر را رد كند:
⦁ $ npm init -y

اكنون كه فضاي پروژه شما تنظيم شده است ، آماده هستيد تا به نصب متعلقات لازم بپردازيد.
مرحله 2 – نصب متعلقات
با شروع يك پروژه npm برهنه ، مرحله بعدي نصب متعلقاتي است كه براي اجراي TypeScript لازم است.
براي نصب متعلقات دستورات زير را از ديركتوري پروژه خود اجرا كنيد:
⦁ $ npm install -D typescript@3.3.3

⦁ $ npm install -D tslint@5.12.1

پرچم -D ميانبر براي: –save-dev است. مي توانيد در مستندات npmjs اطلاعات بيشتري در مورد اين پرچم كسب كنيد.
اكنون زمان آن رسيده است كه فريم ورك Express را نصب كنيد:
⦁ $ npm install -S express@4.16.4

⦁ $ npm install -D ⦁ @types/express@4.16.1

دستور دوم انواع Express را براي پشتيباني TypeScript نصب مي كند. انواع در TypeScript فايلهايي هستند كه معمولاً داراي پسوند .d.ts هستند. از فايل ها براي تهيه نوع اطلاعات در مورد يك API ، در اين حالت چارچوب Express استفاده مي شود.
اين بسته لازم است زيرا TypeScript و Express بسته هاي مستقل هستند. بدون بسته @types/express ، هيچ راهي براي TypeScript براي اطلاع از انواع كلاس هاي Express وجود ندارد.
مرحله 3 – پيكربندي TypeScript
در اين بخش TypeScript را تنظيم مي كنيد و linting را براي TypeScript پيكربندي مي كنيد. TypeScript براي پيكربندي گزينه هاي كامپايلر براي يك پروژه از فايلي به نام tsconfig.json استفاده مي كند. يك فايل tsconfig.json را در ريشه دايركتوري پروژه ايجاد كنيد و در قسمت زير جايگذاري كنيد:
tsconfig.json
{
“compilerOptions”: {
“module”: “commonjs”,
“esModuleInterop”: true,
“target”: “es6”,
“moduleResolution”: “node”,
“sourceMap”: true,
“outDir”: “dist”
},
“lib”: [“es2015”]
}

بياييد برخي از كليدهاي موجود در قسمت JSON را بررسي كنيم:
⦁ module: روش توليد كد ماژول را مشخص مي كند. Node از Commonjs استفاده مي كند.
⦁ target: سطح زبان خروجي را مشخص مي كند.
⦁ moduleResolution: به كامپايلر كمك مي كند تا بفهمد ورودي به چه چيزي اطلاق مي شود. مقدار Node از مكانيزم وضوح ماژول Node تقليد مي كند.
⦁ outDir: مكان خروجي فايل هاي .js پس از transpilation است. در اين آموزش آن را به عنوان dist ذخيره مي كنيم.
جايگزيني براي ايجاد و پر كردن فايل tsconfig.json به صورت دستي اجراي دستور زير است:
⦁ tsc –init

اين دستور يك فايل tsconfig.json به خوبي كامنت شده را توليد مي كند.
براي كسب اطلاعات بيشتر در مورد گزينه هاي مقدار كليدي موجود ، اسناد رسمي TypeScript توضيحات مربوط به هر گزينه را ارائه مي دهد.
اكنون مي توانيد linting TypeScript را براي پروژه پيكربندي كنيد. در ترمينالي كه در ريشه دايركتوري پروژه شما اجرا ميشود ، و اين آموزش آن را با عنوان node_project بنا نهاده است ، دستور زير را براي توليد يك فايل tslint.json اجرا كنيد:
⦁ $ ./node_modules/.bin/tslint –init

فايل tslint.json تازه توليد شده را باز كنيد و قانون no-console را نيز بر اين اساس اضافه كنيد:
tslint.json
{
“defaultSeverity”: “error”,
“extends”: [“tslint:recommended”],
“jsRules”: {},
“rules”: {
“no-console”: false
},
“rulesDirectory”: []
}

به طور پيش فرض ،TypeScript linter مانع استفاده از اشكال زدايي با استفاده از عبارات console  مي شود ، از اين رو بايد صراحتا به linter گفته شود كه قانون پيش فرض no-console را باطل كند.
مرحله 4 – بروزرساني فايل pack.json
در اين مرحله از آموزش ، مي توانيد توابع را در ترمينال به صورت جداگانه اجرا كنيد ، يا يك اسكريپت npm براي اجراي آنها ايجاد كنيد.
در اين مرحله يك اسكريپت شروع مي كنيد كه كد TypeScript را كامپايل و transpile مي كند ، و سپس برنامه .js حاصل را اجرا مي كند.
فايل pack.json را باز كنيد و بر اين اساس آن را به روز كنيد:
package.json
{
“name”: “node-with-ts”,
“version”: “1.0.0”,
“description”: “”,
“main”: “dist/app.js”,
“scripts”: {
“start”: “tsc && node dist/app.js”,
“test”: “echo ”Error: no test specified” && exit 1″
},
“author”: “”,
“license”: “ISC”,
“devDependencies”: {
“@types/express”: “^4.16.1”,
“tslint”: “^5.12.1”,
“typescript”: “^3.3.3”
},
“dependencies”: {
“express”: “^4.16.4”
}
}

در قطعه كد بالا مسير اصلي را به روز كرديد و دستور start را به بخش اسكريپت ها اضافه كرديد. هنگام مشاهده فرمان شروع ، خواهيد ديد كه ابتدا دستور tsc اجرا مي شود ، و سپس دستور node. اين كار خروجي توليد شده را با node كامپايل و اجرا مي كند.
دستور tsc به TypeScript مي گويد كه برنامه را كامپايل كرده و خروجي توليد شده .js را همانطور كه در فايل tsconfig.json تنظيم شده است در ديركتوري پوشه outDir قرار دهد.
مرحله 5 – ايجاد و اجراي يك سرور مجازي اصلي اكسپرس
اكنون كه پيكربندي TypeScript و linter آن صورت گرفته است ، زمان آن رسيده كه يك سرور مجازي Node Express بسازيد.
ابتدا يك پوشه src در ريشه ديركتوري پروژه خود ايجاد كنيد:
⦁ $ mkdir src

سپس فايلي به نام app.ts را درون آن ايجاد كنيد:
⦁ $ touch src/app.ts

در اين مرحله ، ساختار پوشه بايد به شكل زير باشد:
├── node_modules/
├── src/
├── app.ts
├── package-lock.json
├── package.json
├── tsconfig.json
├── tslint.json

فايل app.ts را با يك ويرايشگر متن مورد نظر خود باز كنيد و در قسمت كد زير قرار دهيد:
src/app.ts
import express from ‘express’;

const app = express();
const port = 3000;
app.get(‘/’, (req, res) => {
res.send(‘The sedulous hyena ate the antelope!’);
});
app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

كد بالا Node Server را ايجاد مي كند كه پورت 3000 را براي درخواست ها گوش مي دهد. برنامه را با استفاده از دستور زير اجرا كنيد:
⦁ $ npm start

اگر با موفقيت اجرا شود ، پيامي به ترمينال وارد مي شود:
Output
⦁ $ server is listening on 3000

اكنون مي توانيد در مرورگر خود از http: // localhost: 3000 بازديد كنيد و بايد اين پيام را مشاهده كنيد:
Output
⦁ $ The sedulous hyena ate the antelope!

فايل dist / app.js را باز كنيد و نسخه تعويض شده كد TypeScript را پيدا خواهيد كرد:
dist/app.js
“use strict”;

var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { “default”: mod };
};
Object.defineProperty(exports, “__esModule”, { value: true });
const express_1 = __importDefault(require(“express”));
const app = express_1.default();
const port = 3000;
app.get(‘/’, (req, res) => {
res.send(‘The sedulous hyena ate the antelope!’);
});
app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

//# sourceMappingURL=app.js.map

در اين مرحله شما با موفقيت پروژه Node خود را براي استفاده از TypeScript تنظيم كرده ايد.
نتيجه
در اين آموزش ، آموختيد كه چرا TypeScript براي نوشتن كد قابل اعتماد JavaScript مفيد است . همچنين در مورد برخي از مزاياي كار با TypeScript اطلاعات كسب كرديد.
سرانجام ، يك پروژه Node را با استفاده از چارچوب Express تنظيم كرده ايد ، اما پروژه را با استفاده از TypeScript كامپايل و اجرا مي كنيد.

 

از اين لينك ها زير مي توانيد آمورش هاي بيشتري براي لينوكس پيدا كنيد :

نصب و پيكربندي Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجراي چند نسخه PHP بر روي يك سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پيكربندي Elasticsearch در اوبونتو 18.04

راه اندازي سرور اوليه با اوبونتو 20.04 – تنظيم كليدهاي SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روي سرور Ubuntu 18.04 –  نحوه نصب Python 3 روي سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنيتي براي محافظت از سرورهاي شما –  نحوه نصب و ايمن سازي Redis در اوبونتو 20.04

نحوه نصب و ايمن سازي Redis در اوبونتو 18.04 – اضافه كردن فضاي Swap در اوبونتو 20.04

چگونه مي توان فايروال را با UFW در اوبونتو 20.04 تنظيم كرد – نظارت بر اطلاعيه و مسير BGP با BGPalerter اوبونتو 18.04

نصب و ايمن سازي phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ريست كردن رمز ورود ريشه MySQL يا MariaDB –  استفاده از نوع داده MySQL BLOB براي ذخيره تصاوير

نصب Nginx در اوبونتو 18.04 – نصب توزيع Anaconda پايتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظيم محيط توسعه در اوبونتو 16.04

نصب جنگو و تنظيم محيط توسعه در اوبونتو 20.04 – نحوه ايجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازي يك پروژه Node با Typescript –  نحوه نصب و پيكربندي VNC در اوبونتو 18.04

ايجاد يك برنامه Django و اتصال آن به يك بانك اطلاعاتي – نصب و پيكربندي VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازي و اتصال رابط كاربري Django

تنظيم پلتفرم Cloud IDE كد سرور را در اوبونتو 18.04 – پيكربندي Apache HTTP با رويداد MPM و PHP-FPM

 

 

كلمات كليدي خريد سرور

خريد vps – خريد سرور مجازي – خريد سرور – سرور هلند – فروش vps – سرور مجازي آمريكا – خريدvps – سرور مجازي هلند – فروش سرور مجازي – سرور آمريكا – vps – سرور مجازي انگليس – سرور مجازي آلمان – سرور مجازي كانادا – خريد vps آمريكا – خريد وي پي اس – سرور – خريد سرور مجازي هلند – vps خريد – سرور مجازي فرانسه – سرور مجازي هلند – خريد vps آمريكا – خريد سرور مجازي ارزان هلند – vps – خريد vps هلند – خريد سرور مجازي آمريكا – خريد vps فرانسه – تست vps – سرور مجازي تست – سرور مجازي ويندوز – ارزانترين vps – خريد وي پي اس – vps ارزان –