Iprojekthi yeDeno iphuhlisa iqonga elikhuselekileyo leJavaScript elifana neNode.js

Iyafumaneka ukukhutshwa kweprojekthi Ideno 0.33, enikezela ngeqonga le-Node.js-efana ne-stand-alone yokwenziwa kwesicelo kwiJavaScript kunye ne-TypeScript engasetyenziselwa ukuqhuba izicelo ngaphandle kokubotshwa kwisikhangeli, njengokwenza abaphangi abasebenza kumncedisi. IDeno isebenzisa injini yeJavaScript V8, ekwasetyenziswa kwi-Node.js kunye nezikhangeli ezisekwe kwiprojekthi yeChromium. Ikhowudi yeprojekthi isasazwa ngu phantsi kwelayisenisi ye-MIT. Iprojekthi iphuhliswa nguRyan Dahl (URyan Dahl), umdali weNode.js JavaScript iqonga.

Enye yeenjongo eziphambili zokudala ixesha elitsha leJavaScript kukubonelela ngendawo ekhuselekileyo. Ukuphucula ukhuseleko, i-injini ye-V8 ibhalwe kwi-Rust, enqanda ubuthathaka obuninzi obuvela kulawulo lwememori ekwinqanaba elisezantsi, elifana nokufikelela emva kokukhululeka, ukuchaswa kwe-null pointer, kunye ne-buffer overruns. Iqonga lisetyenziselwa ukucubungula izicelo kwimodi yokungathinteli Tokio, nayo ibhalwe kwiRust. I-Tokio ikuvumela ukuba wenze izicelo zokusebenza eziphezulu ezisekelwe kwi-architecture eqhutywa yisiganeko, ukuxhasa ukuxutywa kwezinto ezininzi kunye nokucubungula izicelo zenethiwekhi kwimodi ye-asynchronous.

Siseko Iimbonakalo I-Deno:

  • Uqwalaselo olungagqibekanga olusekwe kukhuseleko. Ufikelelo lwefayile, uthungelwano, kunye nofikelelo kwizinto eziguquguqukayo zokusingqongileyo zivaliwe ngokungagqibekanga kwaye kufuneka zenziwe zisebenze ngokuthe gca;
  • Inkxaso eyakhelwe-ngaphakathi yolwimi lwe-TypeScript ukongeza kwiJavaScript;
  • Ixesha lokuqhuba liza ngokohlobo lwefayile enye ezimeleyo ephunyezwayo (β€œdeno”). Ukusebenzisa usetyenziso usebenzisa iDeno kwanele khuphela kwiqonga layo ifayile enye ephunyezwayo, malunga ne-10 MB ngobukhulu, engenazo ukuxhomekeka kwangaphandle kwaye ayifuni naluphi na ukufakelwa okukhethekileyo kwinkqubo;
  • Xa uqalisa inkqubo, kunye nokulayisha iimodyuli, ungasebenzisa idilesi ye-URL. Umzekelo, ukuqhuba inkqubo ye-welcome.js, ungasebenzisa umyalelo othi "deno https://deno.land/std/examples/welcome.js". Ikhowudi esuka kwimithombo yangaphandle ikhutshelwa kwaye igcinwe kwinkqubo yendawo, kodwa ayihlaziywa ngokuzenzekelayo (uhlaziyo lufuna ukuqhuba ngokucacileyo usetyenziso nge "--reload" iflegi);
  • Ukusetyenzwa ngokufanelekileyo kwezicelo zenethiwekhi nge-HTTP kwizicelo; iqonga lenzelwe ukudala usetyenziso oluphezulu lwenethiwekhi;
  • Ukukwazi ukwenza izicelo zewebhu jikelele ezinokuthi zenziwe zombini kwiDeno kunye nakwi-browser yewebhu eqhelekileyo;
  • Ukongeza kwixesha lokusebenza, iqonga leDeno likwasebenza njengomphathi wephakheji kwaye ikuvumela ukuba ufikelele kwiimodyuli nge-URL ngaphakathi kwekhowudi. Umzekelo, ukulayisha imodyuli, ungacacisa kwikhowudi "import * njengelogi ukusuka "https://deno.land/std/log/mod.ts". Iifayile ezikhutshelweyo kwiiseva zangaphandle nge-URL zigcinwe kwi-cache. Ukubophelela kwiinguqulelo zemodyuli kumiselwa ngokuchaza amanani oguqulelo ngaphakathi kwe-URL, umzekelo, β€œhttps://unpkg.com/[imeyile ikhuselwe]/dist/liltest.js";
  • Ulwakhiwo lubandakanya inkqubo yokuhlola ukuxhomekeka okudibeneyo (umyalelo "we-deno info") kunye nesixhobo sokufomatha ikhowudi (deno fmt).
  • Kubaphuhlisi besicelo icetywayo iseti yeemodyuli ezisemgangathweni eziye zafumana uphicotho olongezelelweyo kunye novavanyo lokuhambelana;
  • Zonke izikripthi zesicelo zinokudityaniswa zibe yifayile yeJavaScript enye.

Umahluko kwi-Node.js:

  • I-Deno ayisebenzisi umphathi wephakheji ye-npm
    kwaye ayibotshelelwanga kwii-repositories, iimodyuli zibhekiswe nge-URL okanye ngendlela yefayile, kwaye iimodyuli ngokwazo zinokubekwa kuyo nayiphi na iwebhusayithi;

  • IDeno ayisebenzisi "package.json" ukuchaza iimodyuli;
  • Umahluko we-API, zonke iintshukumo ezingahambelaniyo kwiDeno zibuyisela isithembiso;
  • I-Deno ifuna inkcazo ecacileyo yazo zonke iimvume eziyimfuneko zeefayile, inethiwekhi kunye noguquko lokusingqongileyo;
  • Zonke iimpazamo ezingabonelelwanga ngabaphathi zikhokelela ekuphelisweni kwesicelo;
  • IDeno isebenzisa inkqubo yemodyuli yeECMAScript kwaye ayixhasi ifuna ().

umthombo: opennet.ru

Yongeza izimvo