Tha Àrd-ùrlar Deno JavaScript a-nis co-chòrdail ri modalan NPM

Chaidh Deno 1.28 a leigeil ma sgaoil, frèam airson bogsa gainmhich tagraidhean JavaScript agus TypeScript a dh'fhaodar a chleachdadh gus làimhseachadh taobh an fhrithealaiche a chruthachadh. Tha an àrd-ùrlar air a leasachadh le Ryan Dahl, neach-cruthachaidh Node.js. Coltach ri Node.js, bidh Deno a’ cleachdadh an einnsean V8 JavaScript, a tha cuideachd air a chleachdadh ann am brobhsairean stèidhichte air Chromium. Aig an aon àm, chan e forc de Node.js a th’ ann an Deno, ach is e pròiseact ùr a th’ ann a chaidh a chruthachadh bhon fhìor thoiseach. Tha còd a’ phròiseict air a sgaoileadh fo chead MIT. Tha togalaichean gan ullachadh airson Linux, Windows agus macOS.

Chaidh am pròiseact Deno a chruthachadh gus àrainneachd nas tèarainte a thoirt do luchd-cleachdaidh agus cuir às do mhearachdan bun-bheachdail ann an ailtireachd Node.js. Gus tèarainteachd a leasachadh, tha an einnsean V8 air a sgrìobhadh ann an Rust, a tha a’ seachnadh mòran de na so-leòntachd a thig bho làimhseachadh cuimhne aig ìre ìosal. Gus iarrtasan a phròiseasadh ann am modh gun bhacadh, thèid an àrd-ùrlar Tokio, a tha cuideachd sgrìobhte ann an Rust, a chleachdadh. Leigidh Tokio leat tagraidhean àrd-choileanaidh a chruthachadh stèidhichte air ailtireachd air a stiùireadh le tachartas, a’ toirt taic do dh’ iarrtasan lìonra ioma-snàthainn agus giullachd ann am modh asyncronach.

Is e prìomh atharrachadh anns an fhoillseachadh ùr seasmhachd co-chòrdalachd le pacaidean air an cumail ann an stòr NPM, a leigeas le Deno barrachd air 1.3 millean modal a chaidh a chruthachadh airson an àrd-ùrlar Node.js a chleachdadh. Mar eisimpleir, faodaidh tagraidhean stèidhichte air Deno a-nis modalan ruigsinneachd dàta leantainneach a chleachdadh leithid Prisma, Mongoose agus MySQL, a bharrachd air frèaman aghaidh mar React agus Vue. Tha cuid de mhodalan NPM fhathast neo-chòrdail ri Deno, mar eisimpleir air sgàth ceangail ri eileamaidean àrainneachd sònraichte Node.js leithid am faidhle package.json. Chan eil e comasach fhathast an àithne “deno compile” a chleachdadh le modalan NPM. Tha fiosan san àm ri teachd an dùil dèiligeadh ris na neo-fhreagarrachd agus na cuingeadan sin.

Tha taic airson siostam modal ECMAScript Deno a chaidh a chleachdadh roimhe seo agus modal Web API air a chumail aig an aon ìre, agus tha sgeama luchdachadh eòlach Deno stèidhichte air URL air a chleachdadh gus modalan NPM a thoirt a-steach. Gus faighinn gu modalan NPM, tha ro-leasachan URL sònraichte “npm:”, a dh'fhaodar a chleachdadh san aon dòigh ri modalan àbhaisteach Deno. Mar eisimpleir, gus modal NPM a thoirt a-steach, faodaidh tu 'in-mhalairt { chalk } a shònrachadh bho "npm: chalk@5";', agus sgriobt NPM a ruith bhon loidhne-àithne - "deno run --allow-env --allow -read npm: cruthaich- vite-extra.

Tha cleachdadh pacaidean NPM ann an Deno fada nas fhasa na ann an Node.js, leis nach eil feum air modalan a chuir a-steach ro-làimh (tha modalan air an stàladh nuair a thèid an tagradh a chuir air bhog an toiseach), chan eil faidhle package.json ann, agus chan eil node_modules bunaiteach ann. eòlaire (tha modalan air an tasgadh ann an eòlaire co-roinnte, ach tha e comasach an seann ghiùlan a thilleadh leis an roghainn “--node-modules-dir”).

Bidh tagraidhean stèidhichte air NPM a’ cumail an comas smachd ruigsinneachd Deno, aonaranachd, agus comasan adhartach mothachail air tèarainteachd. Gus cuir an-aghaidh ionnsaighean tro eisimeileachd teagmhach, bidh Deno a’ blocadh a h-uile oidhirp gus faighinn chun t-siostam bho eisimeileachd agus a’ taisbeanadh rabhadh mu dhuilgheadasan a chaidh a lorg. Mar eisimpleir, nuair a dh’ fheuchas modal ri inntrigeadh sgrìobhaidh fhaighinn gu / usr/bin/, thèid iarrtas dearbhaidh airson na h-obrach seo a thaisbeanadh: deno run npm: install-malware ⚠️ ┌ Bidh iarrtasan Deno a’ sgrìobhadh ruigsinneachd gu /usr/bin/. ├ Air iarraidh le `install-malware` ├ Ruith a-rithist le --allow-write gus a dhol seachad air a’ bhrosnachadh seo. └ Ceadaich? [y/n] (y = tha, ceadaich; n = chan eil, diùltadh) >

Tha leasachaidhean neo-NPM san dreach ùr a’ toirt a-steach ùrachadh an einnsean V8 gus 10.9 a leigeil ma sgaoil, lorg faidhlichean gu fèin-ghluasadach le glasan, seasmhachd an Deno.bench (), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() agus Deno APIs. .uid(), a’ cur API neo-sheasmhach ùr Deno.Command() ris airson òrdughan ruith (ath-nuadhachadh uile-choitcheann airson Deno.spawn, Deno.spawnSync agus Deno.spawnChild).

Prìomh fheartan Deno:

  • Suidheachadh bunaiteach stèidhichte air tèarainteachd. Tha ruigsinneachd faidhle, lìonrachadh, agus ruigsinneachd gu caochladairean àrainneachd ciorramach gu bunaiteach agus feumaidh iad a bhith air an comasachadh gu soilleir. Bidh tagraidhean a’ ruith gu bunaiteach ann an àrainneachdan bogsa gainmhich iomallach agus chan urrainn dhaibh faighinn gu comasan siostam gun a bhith a’ toirt seachad ceadan soilleir;
  • Taic togte airson TypeScript taobh a-muigh JavaScript. Airson sgrùdadh seòrsa agus gineadh JavaScript, thathas a’ cleachdadh an inneal-cruinneachaidh TypeScript àbhaisteach, a tha a’ leantainn gu lùghdachadh ann an coileanadh an coimeas ri parsadh JavaScript ann an V8;
  • Tha runtime a’ tighinn ann an cruth aon fhaidhle so-ghnìomhaichte fèin-chumanta (“deno”). Gus tagraidhean a ruith le Deno, cha leig thu leas ach aon fhaidhle so-ghnìomhaichte a luchdachadh sìos airson an àrd-ùrlar agad, timcheall air 30 MB ann am meud, aig nach eil eisimeileachd bhon taobh a-muigh agus nach eil feumach air stàladh sònraichte sam bith air an t-siostam. A bharrachd air an sin, chan e tagradh monolithic a th’ ann an deno, ach tha e na chruinneachadh de phasganan crate Rust (deno_core, rusty_v8), a ghabhas cleachdadh air leth;
  • Nuair a thòisicheas tu air a’ phrògram, a bharrachd air modalan a luchdachadh, faodaidh tu seòladh URL a chleachdadh. Mar eisimpleir, gus am prògram welcome.js a ruith, faodaidh tu an àithne “deno https://deno.land/std/examples/welcome.js” a chleachdadh. Tha còd bho ghoireasan taobh a-muigh air a luchdachadh sìos agus air a thasgadh air an t-siostam ionadail, ach cha bhith e air ùrachadh gu fèin-ghluasadach (feumaidh ùrachadh an aplacaid a ruith gu soilleir leis a’ bhratach “--reload”);
  • Giullachd èifeachdach air iarrtasan lìonra tro HTTP ann an tagraidhean; tha an àrd-ùrlar air a dhealbhadh gus tagraidhean lìonra àrd-choileanaidh a chruthachadh;
  • Comas air tagraidhean lìn uile-choitcheann a chruthachadh a ghabhas an cur an gnìomh an dà chuid ann an Deno agus ann am brobhsair lìn cunbhalach;
  • Tha làthaireachd seata àbhaisteach de mhodalan ann, agus chan eil feum air a bhith ceangailte ri eisimeileachd bhon taobh a-muigh. Tha modalan bhon chruinneachadh àbhaisteach air a dhol tro sgrùdadh a bharrachd agus deuchainn co-chòrdalachd;
  • A bharrachd air ùine ruith, bidh an àrd-ùrlar Deno cuideachd ag obair mar mhanaidsear pacaid agus leigidh e leat faighinn gu modalan le URL taobh a-staigh a’ chòd. Mar eisimpleir, gus modal a luchdachadh, faodaidh tu sònrachadh sa chòd “Import * mar log bho“ https://deno.land/std/log/mod.ts ”. Tha faidhlichean air an luchdachadh sìos bho luchd-frithealaidh taobh a-muigh tro URL air an tasgadh. Tha ceangal ri dreachan modal air a dhearbhadh le bhith a’ sònrachadh àireamhan dreach taobh a-staigh an URL, mar eisimpleir, “https://unpkg.com/[post-d fo dhìon]/dist/liltest.js";
  • Tha an structar a’ toirt a-steach siostam sgrùdaidh eisimeileachd aonaichte (an àithne “deno info”) agus goireas airson cruth còd (deno fmt);
  • Faodar a h-uile sgriobt tagraidh a chur còmhla ann an aon fhaidhle JavaScript.

Source: fosgailtenet.ru

Cuir beachd ann