background

کورتەیەک لەسەر دینۆ

هاوپۆل: بەرنامەدارشتن  ژ.بابەت : 4849  بەروار : تشرینی دووه‌م 4, 2021
deno, javascript, v8, web
QR Code For:  کورتەیەک لەسەر دینۆ

دینۆ ژینگەیەکی مۆدێرن و پارێزراوە بۆ کارپێکردنی تایپسکریپت و جاڤاسکریپت کە لەلایەن دامەزرێنەری نۆد جەی ئێس خۆیەوە، ڕیان داهل، دروست کراوە و لە وتارێک بە ناوی “١٠ شتی نۆد جەی ئێس کە لێیان پەشیمانم” لە ساڵی ٢٠١٨ بڵاوی کردۆتەوە.


تایبەتمەندییەکانی

لە بنەڕەتەوە پارێزراوە. ناتوانێت دەستی بگات بە فایلەکان، نێتوۆرک و هتد مەگەر خۆت ‌دیاریی بکەیت کە دەتوانێت دەستی بگات بە چی. هەروەها، دینۆ پشتگیرییەکی باشتری multi-threadingـی هەیە، بە پێچەوانەی نۆد جەی ئێس کە گلەیی زۆری لەسەرە لەو بارەیەوە.

ئەگەر پڕۆژەکانی Node.js پێویستیان بە چەند پاکجێکی دەرەکی هەبێت بۆ کارپێکردنی تایپسکریپت، ڕازاندنەوەی کۆد و لینتکردن، ئەوا ئەوانەی دینۆ پێویستیان پێ نابێت. دینۆ خۆی تایپسکریپتت بۆ کار پێ دەکات و پێویستت بە هیچ شتێکی دەرەکی نابێت. لەگەڵ ئەوەشدا، لە ناو خۆیدا ڕازێنەرەوەی کۆد (formatter) و تووڵی لینتکردن (linter)ـی تێدایە.

ئەوەی شایانی باسە، مۆدیوڵەکانی دینۆ هەموویان بە هۆی بەستەرەوە هاوردە (import) دەکرێن و وەک نۆد جەی ئێس پێویست ناکات بۆ هەر پڕۆژەیەک پاکێجەکان دابگریتەوە و لە شوێنێک وەک node_modules دایان بنێیت.

هەروەها، بۆ ئەوەی کۆدەکانی دینۆ بۆ گەڕۆک (browser) ئامادە بکەیت، وەک Node.js پێویستت بە کەرەستەی وەک Webpack نابێت. چونکە، دینۆ لە ناو خۆیدا کەرەستەیەکی تێدایە بۆ گۆڕینی کۆدی دینۆ بۆ کۆدی گەڕۆکەکان.


بۆچی بەکاری نەهێنم؟

دینۆ تا ڕادەیەک نوێیە و لە گەشەکردندایە. کۆمەڵگای نۆد جەی ئێس لە کۆمەڵگای دینۆ گەورەترە، واتە لەوانەیە زۆربەی ئەو شتانەی کە پڕۆژەکانی Node.js لەسەری بەندن، بۆ دینۆ بەردەست نەبن.

کۆدەکانی نۆد دەتوانن ڕاستەوخۆ لەسەر دینۆ کار بکەن؟

ئەو بەشانەی کە تایپسکریپت یان جاڤاسکریپتی پەتین، بەبێ هیچ گۆڕانکارییەک لەسەر دینۆ کار دەکەن. بگرە دینۆ زۆرتر لە گەڕۆکانەوە نزیکە، نموونەیەکی سادەش، لە گەڕۆکەکان و دینۆدا prompt و alert و fetch و crypto.subtle هەن، بەڵام لە نۆد جەی ئێسدا نین.

بەشەکانی دیکەش زۆر کات پێویست دەکات دەستکاری بکرێن. بۆ نموونە، دەبێت هەموو دەستەواژەی هاوردەکردنەکان(import) بگۆڕدرێن بۆ سەر شێوەی مۆدیوڵی ES.

بۆ نموونە، ئەمە:

const { x } = require("y");

دەبێت بکرێت بە:

import { x } from "y";

هەر سەبارەت بە دەستەواژەی هاوردەکردنەکان، دەبێت پاشناوی فایلەکان دیاری بکرێت، بۆ نموونە، لەمەدا:

import { x } from "../y/somefile";

ئەگەر somefile فایلێکی تایپسکریپت بێت، دەبێت کاتێک کە بۆ دینۆ نووسرا بکرێت بە:

import { x } from "../y/somefile.ts";

گرنگترین هەنگاویش، لێکۆڵینەوەیە لە پاکێجە بەکارهاتووەکان بۆ ئەوەی بزانیت ئایا لەسەر دینۆ دینۆ کاردەکەن یان نا، و ئەگەر لەسەر دینۆ کاریان نەکرد، گەڕان بە دوای پاکێجی جێگرەوە.

لە کاتێکیشدا ئەگەر هیچ پاکێجێکی جێگرەوەت نەدۆزییەوە، دەتوانیت بزانیت ئەگەر پاکێجەکە لەسەر گەڕۆکەکان(Browser) کاردەکات یان نا، و ڕاستەوخۆ لە ڕێی بەستەری CDNـەکەیەوە هاوردەی بکەیت چونکە زۆر کات وەک لە سەرەوەش باسی کرا، ئەو کۆدانەی کە بۆ گەڕۆکەکان نووسراون، لەسەر دینۆش کاردەکەن بە بێ هیچ دەستکارییەک. تەنها پێویستە مۆدیوڵێکی ES بێت.

هەروەها، جیاوازی لە نێوان کتێبخانەی ستانداردی نۆد جەی ئێس و دینۆشدا هەن، بۆیە پێویستە ئەو بەشانەش بگۆڕیت کە کار بە کتێبخانەی ستانداردی نۆد جەی ئێس دەکەن.

دەتوانیت بە یەک بنگەی کۆد لە یەک کاتدا لەسەر دینۆ و نۆد کار بکەیت؟

کەمێک هەوڵی دەوێت، بەڵام قورس نابێت.

زۆر لە ئەو کەسانەی کە دەیانەوێت کۆدەکانیان لە یەک کاتدا لەسەر دینۆ و نۆد هەردووکی کار بکات، هەموو ئەو بەشانەی کە جیاواز دەبن لە دینۆ و نۆد لە ناو یەک فایل دادەنێن. بۆ نموونە، هەموو ئەو کۆدانە لە ناو یەک فایل دادەنرێن کە کتێبخانەی ستاندارد بەکاردە‌هێنن یان کتێبخانەیەکی تر کە بە پێی بەکارهێنانی دینۆ یان نۆد دەگۆڕێت.

پاشان، سکریپتێک دەنووسن یان تووڵێکی وەک deno2node بەکاردەهێنن کە دەستەواژەی هاوردەکردنەکانی دینۆ دەگۆڕێت بۆ شێوازی نۆد و ئەو فایلانە بەکاردەهێنێت کە هەڵتبژاردوون بۆ ئەوەی لەگەڵ نۆد کاربکەن.

پوختە

  • * دینۆ جێگرەوەیەکی نایابە بۆ نۆد جەی ئێس لە زۆر بارودۆخدا.
  • * پارێزراوە، خێرایە، سووکەڵە و بەتواناشە.
  • * ڕاستەوخۆ کار بە تایپسکریپت دەکات.
  • * لەوانەیە هەندێک شتی نۆد بۆ دینۆ بەردەست نەبن.
  • * کۆدی نۆد ڕاستەوخۆ لەسەر دینۆ کار ناکات.
  • * تووڵ هەن دەتوانن کۆدی دینۆ بگۆڕن بۆ نۆد.

ڕۆژ

ژمارەی بابەتەکان: 3

  • بۆچوونەکان

    نووسینی وەڵام

    پۆستی ئەلیکترۆنییەکەت بڵاوناکرێتەوە. خانە پێویستەکان دەستنیشانکراون بە *