- npm waxay u dhaqantaa sidii diiwaangelin xirmo oo weyn iyo qalabka CLI ee aasaasiga ah si loo rakibo, loo cusbooneysiiyo, looga saaro loona hubiyo ku-tiirsanaanta Node.js.
- Mashruucyadu waxay ku tiirsan yihiin package.json si ay u qeexaan ku tiirsanaanta, qoraallada, iyo meelaha laga soo galo iyada oo loo marayo meelaha sida ugu muhiimsan, dhoofinta, soo dejinta iyo nooca.
- Rakibaadaha maxalliga ah iyo kuwa caalamiga ah, kala duwanaanshaha semver, iyo noocyada ku tiirsanaanta (ku tiirsanaanta, horumarinta ku tiirsanaanta, ikhtiyaariga ku tiirsanaanta) ayaa xakameeya sida iyo meesha loo isticmaalo xirmooyinka.
- Dhoofinta horumarsan, dhoofinta shuruudaysan iyo soo dejinta hoosaadka ayaa bixiya xakameyn qoto dheer oo ku saabsan waxa xirmo sida nodebbs ay u soo bandhigto deegaanno kala duwan.
Haddii aad isku dayayso inaad fahamto sida xirmo npm ah sida "nodebbs" ku habboon nidaamka deegaanka ee Node.js, marka hore waxaad u baahan tahay faham adag oo ku saabsan waa maxay npm, sida xirmooyinka loo qaabeeyey, iyo sida Node u xalliyo oo u soo bandhigo modules-yada. Mashruucyada casriga ah ee Node.js waxay si weyn ugu tiirsan yihiin npm, ma aha oo kaliya inay rakibaan koodhka laakiin sidoo kale inay maareeyaan qoraallada, amniga, nooca, iyo sida xirmadaadu ay u isticmaalaan kuwa kale.
Tilmaamahan wuxuu dhex maraa npm laga bilaabo dhulka ilaa kor — waxa ay tahay, sida xirmooyinka maxalliga ah iyo kuwa caalamiga ah u shaqeeyaan, sida loo rakibo, loo cusbooneysiiyo loona saaro, sida package.json waa mid qaabaysan, iyo sida sifooyinka horumarsan sida exports iyo imports beeraha ayaa xakameeya waxa xirmadaadu (tusaale ahaan, matoorka madasha sida nodebbs) u diyaariso macaamiisha. Wax walba waxaa lagu sharaxay Ingiriisi cad oo leh tusaalooyin badan si aad si kalsooni leh u daabacdo oo aad u isticmaasho xirmooyinka npm.
Waa maxay npm iyo sababta ay muhiim ugu tahay xirmooyinka sida nodebbs
npm (Maareeyaha Xidhmada Node) waa qalab amar-ku-saleysan iyo diiwaangelin online ah oo weyn oo ah xirmooyinka Node.js ee furan. Markaad ku rakibto Node.js nidaamkaaga, npm si toos ah ayaa loo rakibaa, taasoo ku siineysa marin degdeg ah oo aad ku heli karto malaayiin modules oo dib loo isticmaali karo oo ay daabacday bulshadu. npmjs.com.
The diiwaanka npm Waa keydka koodhka ugu weyn ee hal luqad ah oo adduunka ku yaal, iyadoo leh in ka badan hal milyan oo xirmooyin la daabacay oo daboolaya ku dhawaad hawl kasta oo la malayn karo. Xirmooyinkani waxay u dhexeeyaan adeegyo yaryar (hal shaqo) ilaa qaab-dhismeedyo dhammaystiran, CLIs, iyo qalfoofka codsiyada ee xoojiya barnaamijyada wax soo saarka maalin kasta.
Asal ahaan, npm ayaa la nashqadeeyay si loogu maareeyo ku tiirsanaanta mashaariicda Node.js ee gadaal, laakiin maanta sidoo kale waa qalab muhiim u ah socodka shaqada ee hore. Waxaad rakibi kartaa React, qalabka sida Webpack ama Vite, qaab-dhismeedka CSS, test runners, iyo waxyaabo kaloo badan - dhammaantood waxaa loo qaybiyaa baakadaha npm.
Marka la shaqeynayo xirmo gaar ah sida nodebbs, npm ayaa mas'uul ka ah soo dejinta koodkeeda, xallinta ku tiirsanaanteeda, ilaalinta noocyada isku mid ah kooxdaada oo dhan, iyo isku xirka qoraal kasta ama CLI-yada ay soo bandhigto. Taasi waa sababta fahamka npm ay muhiim u tahay haddii aad rabto inaad qiimeyso, habayso, ama xitaa daabacdo xirmo adigu — eeg Weerar silsilad sahay npm oo baahsan.
Node.js, npm iyo sida loo rakibo
Si aad u isticmaasho xirmo kasta oo npm ah — oo ay ku jiraan nodebbs — waxaad u baahan tahay Node.js iyo npm ayaa la rakibay mashiinkaaga. npm waxaa ku xiran Node, markaa waxaad ka soo dejisan kartaa Node bogga rasmiga ah oo waad diyaar u tahay inaad bilowdo.
Habka lagu taliyay waa in lagu rakibo Node.js iyada oo loo marayo maamulaha nooca sida nvm, kaas oo kuu oggolaanaya inaad u kala beddesho noocyo badan oo Node iyo npm ah. Tani waxay sahlaysaa inaad mashruucaaga ku tijaabiso noocyo kala duwan oo Node ah waxayna ka fogaanaysaa arrimaha ogolaanshaha ee ka soo bixi kara rakibayaasha nidaamka oo dhan.
Si dhakhso ah ayaad u xaqiijin kartaa haddii Node iyo npm horeyba way u jireen adigoo furaya terminal oo socodsiinaya: node -v si aad u hubiso nooca Node iyo npm -v si loo xaqiijiyo nooca npm.
Haddii Node.js maqan yahay ama noocaagu aad u duugoobay yahay, soo dejiso Siideynta Taageerada Muddada Dheer (LTS) ka nodejs.org nidaamkaaga hawlgalka. Windows iyo macOS, rakibuhu wuxuu wax walba dejiyaa; Linux waxaad ku isticmaali kartaa NodeSource ama habka aad doorbidayso qaybintaada, ama mar kale maareeyaha nooca sida nvm.
Fikradaha npm ee aasaasiga ah: xirmooyinka, modules iyo diiwaanka
Dunida Node.js, a "xirmo" waa qayb kood ah oo la isku daray oo ay ku jiraan wax kasta oo loogu baahan yahay module ama codsi: faylasha JavaScript, metadata, dukumeentiyada, iyo mararka qaarkood dhismaha walxaha qadiimiga ah. Xirmooyinka badanaa waxay ku nool yihiin tusaha oo leh package.json fayl sharraxaya waxa ku jira.
A "module" waa cutub kood ah oo aad ku soo dejin karto Node.js adoo isticmaalaya require() or import, iyo xirmada npm waxay badanaa soo bandhigtaa hal ama in ka badan oo modules ah oo macaamiishu ay isticmaali karaan. Tusaale ahaan, maktabadda adeegga waxay dhoofin kartaa hal module oo weyn, halka xirmo adag sida nodebbs ay soo bandhigi karto meelo badan oo laga galo server-keeda iyo qaybaha macmiilka.
Xirmooyinka waxaa loo daabacaa dadweynaha diiwaanka npm (ama diiwaannada gaarka loo leeyahay) si horumariyayaashu u rakibi karaan iyagoo adeegsanaya amar fudud. Hoosta, npm waxay soo dejisaa faylasha, xaqiijisaa geedka ku tiirsanaanta, waxayna wax walba ku kaydisaa a node_modules faylka si barnaamijkaagu u soo dejiyo.
Tusaalooyinka caanka ah ee xirmooyinka npm waxaa ka mid ah qaab-dhismeedka sida Express, React iyo Vue, adeegyada sida Lodash iyo Chalk, caawiyayaasha gadaale sida Mongoose iyo Socket.io, iyo qalabka sida Jest, Webpack, Babel, Nodemon, iyo Axios. Xirmo sida nodebbs ayaa ku habboonaan doonta kuwaan sidii ku-tiirsanaan kale oo la rakibi karo oo aad ku xidhi karto xirmada codsigaaga.
Ka shaqaynta npm khadka taliska
The interface-ka khadka taliska npm (CLI) waa sida aad u rakibto, uga saarto, u cusbooneysiiso, una kormeerto xirmooyinka, iyo sidoo kale sida aad u socodsiiso qoraallada mashruuca. Windows-ka waxaad badanaa furi doontaa Command Prompt ama PowerShell; macOS iyo Linux, waxaad isticmaali doontaa terminal-ka.
Qaar ka mid ah amarrada npm ee ugu badan ee la isticmaalo waa npm install, npm uninstall, npm update, npm init, npm start, npm test, Iyo npm publish. Wadajir ahaan, amarradani waxay daboolayaan ku dhawaad wax kasta oo aad u baahan tahay si aad u maamusho ku tiirsanaanta mashruuca Node.js iyo hawlaha wareegga nolosha.
Si aad ugu rakibto xirmo cusub maxalli ahaan mashruucaaga, waxaad caadiyan ku shaqeysaa npm install <package-name> laga bilaabo asalka mashruuca. Tani waxay soo dejisanaysaa xirmada una soo dejisanaysaa node_modules iyo, iyadoo la adeegsanayo npm casri ah, si toos ah ayuu ugu darayaa gelitaan hoos yimaada dependencies in package.json.
Rakibaadaha caalamiga ah, iyadoo la adeegsanayo npm install -g <package-name>, waxaa loo qoondeeyay qalabka aad rabto in laga heli karo meel kasta oo nidaamkaaga ah - waxyaabo sida nodemon, typescript, ama CLI-yo kale. Maktabadahaaga heerka abka (oo ay ku jiraan nodebbs) had iyo jeer waxay ku jiraan gudaha dependencies halkii.
Bilaabidda mashruuca Node iyo doorka package.json
Mashruuc kasta oo halis ah oo Node.js ah wuxuu ku bilaabmaa a package.json faylka, kaas oo u shaqeeya sida muujinta barnaamijkaaga ama maktabaddaada. Waxay kaydisaa metadata (magaca, nooca, sharraxaadda), qoraallada, ku-tiirsanaanta, iyo macluumaadka ku saabsan sida xirmada loo rari karo.
Waxaad faylkan ku abuurtaa adigoo socodsiinaya npm init fayl madhan, ka dibna ka jawaab dhowr su'aalood oo ku saabsan mashruuca. Haddii aad doorbidayso inaad ka boodo su'aalaha, npm init -y waxay soo saartaa ugu yaraan package.json iyadoo leh hab-raacyo macquul ah oo aad hadhow wax ka beddeli karto.
ounce package.json wuu jiraa, xirmo kasta oo aad rakibto waxaa lagu duubay midkood midkood dependencies, devDependencies, ama qaybo kale oo u gaar ah. Tani waa waxa u oggolaanaya horumariye kale inuu nuqul ka sameeyo kaydkaaga oo uu si fudud u shaqeeyo npm install si loo soo celiyo geedkii ku tiirsanaanta oo dhan.
Wixii xirmo sida nodebbs oo aad rabto inaad daabacdo, package.json sidoo kale waxay ku dhawaaqdaa magaca xirmada, meelaha laga soo galo, iyo meel kasta oo la mid ah main, exports, ama type taas oo xakameysa sida Node u xalliso modules-keeda. Taasi waxay ka dhigaysaa package.json udub dhexaad u ah isticmaalka iyo soo saarista xirmooyinka npm.
Rakibaadda maxalliga ah iyo tan caalamiga ah ee xirmooyinka npm
Xirmooyinka maxalliga ah waxaa lagu rakibay mashruuca hadda jira node_modules buugga waxaana laga heli karaa oo keliya mashruucaas. Markaad socodsiiso npm install express or npm install nodebbs Faylka mashruucaaga, xirmadu waxay qayb ka noqonaysaa jaantuska ku tiirsanaanta abkaas.
Istaraatiijiyadan rakibidda maxalliga ah waxay ka hortageysaa nooca isku dhaca ah ee u dhexeeya mashaariicda sababtoo ah mashruuc kastaa wuxuu hayaa nuqullo u gaar ah oo ku-tiirsanaanta. Hal app ayaa isticmaali kara Express 4 halka mid kalena uu isticmaalo Express 5, mana faragelin doonaan midba midka kale.
Xirmooyinka caalamiga ah, oo lagu rakibay npm install -g, waxaa la dhigaa meel nidaamsan oo dhan waxayna badanaa soo bandhigaan aaladaha khadka taliska. Waxaad tan u isticmaali kartaa nodemon, typescript, ama matoorada mashruuca caalamiga ah, laakiin si dhif ah ayaad u rabtaa in koodhka codsiga sida nodebbs uu noqdo mid caalami ah.
npm sidoo kale waxay kuu ogolaaneysaa inaad beddesho horgalaha rakibidda caalamiga ah iyadoo la adeegsanayo npm config set prefix <path>, taas oo ku anfacaysa haddii aadan haysan xuquuq maamul ama aad rabto inaad ka fogaato khaladaadka ogolaanshaha marka aad rakibayso CLI-yada caalamiga ah. Sidaas darteed, qalabkaaga caalamiga ah wuxuu ku nool yahay tusaha isticmaalaha ee la qori karo.
Maareynta ku-tiirsanaanta: rakib, cusbooneysii, oo ka saar
Shaqada maalinlaha ah, waxaad ku qaadan doontaa waqti badan ku darista, cusbooneysiinta, iyo mararka qaarkood ka saarista ku tiirsanaanta npmnpm waxay bixisaa amarro fudud mid kasta oo ka mid ah hawlgalladan, labadaba gudaha iyo adduunka oo dhan.
Ku rakibidda dhammaan ku-tiirsanaanta mashruuc jira waa mid fudud sida socodsiinta npm install tusaha halkaas oo ku yaal package.json nool. npm wuxuu akhriyaa liiska ku tiirsanaanta iyo horumarinta Ku tiirsanaanta wuxuuna dib u abuuraa node_modules faylka si waafaqsan.
Si aad ugu darto hal ku tiirsanaan, waxaad ku shaqeysaa npm install <package-name> (ama npm i <package-name> marka la soo gaabiyo), ikhtiyaar ahaan leh calamo sida --save-dev, --save-optional, ama --no-saveCalamadani waxay xakameeyaan in xirmada loo duubay ku tiirsanaan joogto ah, ku tiirsanaan horumarineed oo keliya, iyo in aan gebi ahaanba la duubin.
Cusboonaysiinta ku-tiirsanaanta waxaa lagu samayn karaa mashruuca oo dhan iyadoo la adeegsanayo npm update, kaas oo u cusbooneysiiya xirmooyinka noocyo cusub oo weli qanciya noocyada kala duwan ee ku jira package.jsonWaxaad sidoo kale bartilmaameedsan kartaa hal xirmo npm update <package-name>, ama ku dar -g haddii aad cusbooneysiineyso qalab caalami ah.
Kala saarista xirmo waa isku mid: npm uninstall <package-name> waxay ka saartaa node_modules oo nadiifiya package.json gelitaanka. Isticmaalka npm uninstall -g sidaas oo kale ayuu u sameeyaa xirmooyinka adduunka oo dhan lagu rakibay.
Fahmidda ku tiirsanaanta, horumarka ku tiirsanaanta iyo ku tiirsanaanta ikhtiyaariga ah
In package.json, npm waxay kala saartaa noocyada kala duwan ee ku tiirsanaanta iyadoo ku xiran goorta iyo sida loogu baahan yahay. Helitaanka kala soociddan saxda ah waxay ka dhigaysaa xirmadaada wax soo saarka mid jilicsan iyo qalabkaaga dabacsan.
dependencies waxay taxaysaa xirmooyinka loo baahan yahay si codsigaagu u shaqeeyo wax soo saarka. Abka shabakadda, waxaa ku jiri kara Express, Mongoose, ama xitaa nodebbs lafteeda haddii aad ku dhejinayso qayb ka mid ah kaydka server-kaaga.
devDependencies Waxay haysaa xirmooyin loo baahan yahay oo keliya inta lagu jiro waqtiga horumarinta ama dhismaha, sida Jest, ESLint, Webpack, Babel, ama Nodemon. Kuwaas laguma rakibin markaad socodsiiso npm install --production, taas oo ka dhigaysa jawigaaga wax soo saarka mid fudud.
optionalDependencies waxa ku jira xirmooyin kor u qaada barnaamijkaaga laakiin aan si adag loogu baahnayn. Haddii ku-tiirsanaan ikhtiyaari ah lagu rakibi waayo, npm uma dhaqmi doonto sidii qalad dilaa ah; koodhkaagu waxaa laga filayaa inuu si wanaagsan u maareeyo maqnaanshihiisa.
Calamada sida --save-prod (sida caadiga ah), --save-dev (ama -D), Iyo --save-optional xakamaynta halkaas oo xirmo cusub la rakibay lagu duubo. Taariikh ahaan waxaa jiray cadayn --save calan, laakiin daaweynta npm casriga ah npm install <name> sida hawlgal badbaadin-ku-tiirsanaan ah oo caadi ah.
Semver iyo rakibidda noocyada xirmooyinka gaarka ah
isticmaalka npm Nooca macnaha (semantic versioning) si loo maareeyo noocyada xirmooyinka, taas oo muhiim ah marka aad ku tiirsan tahay maktabado adag ama xirmo sida nodebbs oo laga yaabo inay isbeddelaan waqti ka dib. Semver wuxuu adeegsadaa qaabka MAJOR.MINOR.PATCH (tusaale ahaan, 1.4.3).
Bishii Sebteembar, Lambarka WEYN koror marka ay jiraan isbeddello jabka ah, YAR si loogu daro sifooyinka gadaal-ku-habboon, iyo XIGASHO hagaajinta cayayaanka aan jebinayn koodka jira. Qaabkani wuxuu u oggolaanayaa xirmooyinka inay horumaraan iyagoon si joogto ah u burburin barnaamijyada hoose.
Waxaad ku rakibi kartaa nooc sax ah oo xirmo ah adiga oo adeegsanaya npm install package@version, tusaale ahaan npm install express@4.17.1Tani waa mid faa'iido leh haddii aad rabto inaad mashruucaaga ku xirto nooc la yaqaan oo wanaagsan inta aad si gaar ah u tijaabinayso sii-deyn cusub.
gudahood package.json, waxaad cayimi kartaa kala duwanaansho dabacsan adoo isticmaalaya jilayaal sida ^ iyo ~ ama isticmaali "latest" or * si aad had iyo jeer u hesho sii deynta ugu cusub ee la jaan qaadi karta. Tusaale ahaan, "express": "^4.1.1" wuxuu u sheegayaa npm inuu isticmaalo nooc kasta oo 4.x ah oo la jaan qaadi kara oo ka sarreeya 4.1.1, laakiin aan ahayn 5.x.
Xirmooyinka caalamiga ah iyo qalabka CLI
Xirmooyinka npm ee caalamiga ah waxaa ugu horreyn loo isticmaalaa in lagu rakibo qalabka khadka taliska oo aad rabto inaad hesho iyadoon loo eegin mashruuca aad ka shaqaynayso. Qalabkani wuxuu diiwaangeliyaa kuwa la fulin karo ee ku jira PATH-kaaga si aad si toos ah uga soo wici karto terminaalka.
Tusaalooyinka xirmooyinka caalamiga ah ee waxtarka leh waxaa ka mid ah nodemon si otomaatig ah dib ugu bilaabo server-yada Node inta lagu jiro horumarinta iyo typescript si aad u soo ururiso TypeScript meel kasta oo aad ka isticmaasho mashiinkaaga. Rakibaadda waxaa lagu sameeyaa iyadoo la adeegsanayo npm install -g <package-name>.
Waxaad kormeeri kartaa xirmooyinka caalamiga ah ee la rakibay adigoo socodsiinaya npm list -g --depth=0, kaas oo daabaca liis siman oo ah modules-yada laga heli karo adduunka oo dhan iyo noocyadooda. Tani waxay waxtar u leedahay hubinta dejintaada ama hagaajinta arrimaha CLI.
Cusboonaysiinta ama ka saarista aaladaha caalamiga ah waxay u shaqeysaa si la mid ah kuwa maxalliga ah: isticmaal npm update -g <package-name> si loo cusbooneysiiyo iyo npm uninstall -g <package-name> si aad uga saarto. Haynta qalabka caalamiga ah ee la cusbooneysiiyay waxay hubineysaa inaad hesho hagaajinta ugu dambeysay iyo balastarrada amniga.
Liis gareynta, kormeerka iyo hubinta xirmooyinka la rakibay
Marka mashruucaagu kordho, la socodka xirmooyinka la rakibay iyo noocyada ay isticmaalaan ayaa sii kordhaya muhiimadda. npm waxay bixisaa amarro liis garee oo kormeer geedkaaga ku tiirsanaanta.
npm list waxay muujinaysaa kala sarreynta xirmooyinka maxalliga ah ee lagu rakibay mashruuca hadda jira, oo ay ku jiraan ku tiirsanaantaha ku jira ee ku tiirsanaantaada tooska ah ay ku tiirsan yihiin. Waxaad arki kartaa noocyada la rakibay iyo sida ay isugu xiran yihiin.
npm list -g si la mid ah ayuu u shaqeeyaa laakiin wuxuu u shaqeeyaa baakadaha adduunka oo dhan lagu rakibay, iyo ku darista --depth=0 Waxay ku xaddidaysaa wax soo saarka kaliya gelitaanka heerka sare. Tani waxay ka dhigaysaa wax soo saarka mid la akhrin karo, gaar ahaan marka ay jiraan ku-tiirsanaan badan oo buul leh.
Amniga awgiis, npm waxaa ku jira sifada hubintaordaya npm audit waxay sawirtaa geedkaaga ku tiirsanaanta iyadoo ka soo horjeeda xogta nuglaanta waxayna soo saartaa warbixin ku saabsan arrimaha la yaqaan — eeg Dhacdada Gooryaanka Shay HuludBadanaa waxaad si toos ah u hagaajin kartaa qaar badan oo ka mid ah npm audit fix, kaas oo ku dhufta noocyada ku-tiirsanaanta ilaa sii-deyn ammaan ah haddii ay suurtogal tahay.
Hanti-dhawrka joogtada ah iyo cusbooneysiinta ayaa si weyn u yareeya khatarta ah in codsigaaga loo soo bandhigo nuglaansho la yaqaan oo ku qarsoon qaybaha dhinac saddexaad - tusaale ahaan, fiiri iska dhigid xirmo npm xaasidnimo ahTani waa mid aad muhiim u ah marka aad ku tiirsan tahay baakado waaweyn sida nodebbs taasi waxay keeni kartaa silsilad qoto dheer oo ku tiirsanaan ah.
Adeegsiga xirmooyinka la rakibay ee koodhkaaga Node.js
Marka aad xirmo ku rakibto deegaankaaga, waxay diyaar u tahay in lagu soo geliyo codsigaaga Node.js oo loo isticmaalo sida module kasta oo kale. Node taariikh ahaan ayaa loo isticmaali jiray. Modules-ka CommonJS via require(), laakiin mashaariicda casriga ah ayaa sidoo kale inta badan ku tiirsan modules-yada ECMAScript import.
Wixii CommonJS ah, waxaad u qori kartaa const express = require('express') or const nodebbs = require('nodebbs') dusha sare ee faylkaaga si aad u keento dhoofinta ugu weyn ee xirmada. Laga bilaabo halkaas, waxaad isticmaashaa API-ga la diiwaangeliyey si aad u habayso marinnada, qalabka dhexe, ama gudaha Kiiska nodebbs, sifooyinka madasha.
Modules-ka ECMAScript (marka aad package.json leeyahay "type": "module" ama aad isticmaasho .mjs faylasha), waxaad beddelkeeda samaynaysaa import express from 'express'Xirmooyin badan oo casri ah hadda waxay daabacaan dhismayaasha ESM, Node-na wuxuu taageeraa labada qaabba.
Maskaxda ku hay in xirmooyinka waaweyn ay badanaa soo bandhigaan meelo badan oo laga galo, sidaa darteed waxaa laga yaabaa inaad soo dejiso modules-yada hoose sida import { Router } from 'express' or import feature from 'nodebbs/feature.js'iyadoo ku xiran sida qoraaga baakadu u qaabeeyay dhoofintooda. Halkani waa meesha ay exports beerta ku jirta xirmada package.json muhiim noqda.
qoraallada npm: otomaatigaynta hawlaha iyadoo la adeegsanayo package.json
Marka laga reebo maaraynta ku tiirsanaanta, npm wuxuu labanlaabmaa hawl fudud oo dhex marta scripts qaybta ah package.jsonQoraalladu waxay kuu oggolaanayaan inaad qeexdo magacyo gaagaaban oo loogu talagalay amarrada caadiga ah ee aad rabto inaad ku shaqeyso inta lagu jiro horumarinta ama dejinta.
Tusaale aasaasi ah waa qeexidda "start": "node app.js" under scripts, oo aad markaa ku shaqeyneyso npm startTani aad bay uga fududahay in la xasuusto oo la wadaago marka loo eego xariiq amar oo dheer, waxayna si joogto ah uga shaqeysaa deegaannada oo dhan.
Waxaad dejin kartaa qoraallo loogu talagalay socodsiinta tijaabooyinka, dhisidda hantida hore, dahaarka, bilaabidda server-yada horumarinta, abuurista xogta, ama xitaa abaabulka hawlaha la xiriira xirmada sida nodebbsTusaale ahaan, waxaa laga yaabaa inaad haysato qoraal aad ku socodsiiso guuritaanka xogta ka hor intaadan bilaabin server-ka madasha.
npm waxay kaydisaa gaabin-gaabinta start, test, restart, Iyo stop, laakiin qoraal kasta oo kale oo gaar ah ayaa la socodsiiyaa npm run <script-name>Hooska hoostiisa, npm waxay dejisaa deegaanka si CLI-yada maxalliga ah ee lagu rakibay ay ugu jiraan PATH, waana sababta amarrada sida webpack or jest badanaa way shaqeeyaan iyagoon lahayn waddo buuxda.
Meelaha laga soo galo xirmada horumarsan: kuwa ugu muhiimsan, dhoofinta iyo soo dejinta
Xirmooyinka aad daabacdo - sida mala-awaal nodebbs module - xakamaynta faylasha ay u arki karaan macaamiisha ayaa muhiim u ah xasilloonida iyo amniga API - dhacdooyinka sida qorista npm muuji khatarta.
Ka weyn main goobta waxay si fudud u tilmaamaysaa faylka gelitaanka koowaad, sida "main": "./index.js", waxaana lagu taageeraa dhammaan noocyada Node. Macaamiisha ayaa sameeya require('your-package') faylkaas si caadi ah ayuu u heli doonaa.
Ka cusub exports goobta ayaa aad uga awood badan: waxay qeexi kartaa meelo badan oo laga galo, waxay taageeri kartaa dhoofinta shuruudaysan iyadoo lagu saleynayo nidaamka deegaanka ama module-ka, waxayna xannibi kartaa marin u helidda waddooyinka gudaha ee aadan rabin in isticmaalayaashu ay ku tiirsanaadaan. Marka exports waa jiraa, wadooyinka si cad loo taxay oo keliya ayaa laga heli karaa soo dejinta qaawan sida require('pkg/subpath').
An exports khariidadu waxay qeexi kartaa gelitaanka xididka ".", marinno hoosaadyo dheeraad ah sida "./feature", iyo xitaa soo bandhigid cad oo ./package.json haddii loo baahdo. Tani waxay kuu ogolaaneysaa inaad si taxaddar leh u qaabeyso dusha sare ee API-gaaga dadweynaha iyadoo faahfaahinta hirgelinta ay gaar u tahay.
Qaababka dhoofinta leh * kuu ogolaanaya inaad soo bandhigto faylal dhan adigoon liis garayn fayl kasta; tusaale ahaan, "./lib/*": "./lib/*.js" waxay khariidayn doontaa dhammaan marinnada hoose ee isku midka ah. Waxa kale oo aad si cad u xannibi kartaa faylal-hoosaadyo gaar ah adigoo khariidaynaya null, taas oo ka hortagaysa macaamiisha inay soo dejiyaan waddooyinkaas.
Dhoofinta shuruudaysan iyo dhismayaal ka warqaba deegaanka
Dhoofinta shuruudaysan kuu oggolaanaya inaad bixiso faylal kala duwan iyadoo ku xiran sida ama meesha loo isticmaalayo xirmadaada. Waxaad soo diri kartaa hal dhisme oo loogu talagalay import (ESM) iyo mid kale oo loogu talagalay require() (CommonJS), ama xitaa dhismayaal gaar ah oo loogu talagalay Node iyo biraawsarrada.
Xaaladaha sida "import", "require", "node", "node-addons", "module-sync", Iyo "default" waxay ka muuqan kartaa gudaha exports shay si uu u doorto bartilmaameedka saxda ah. Tusaale ahaan, "import": "./index-module.js" iyo "require": "./index-require.cjs" waxay bixiyaan taageero laba-geesood ah oo ESM/CommonJS ah.
Xaaladahan waxaa loo qiimeeyaa si isku mid ah, markaa waa inaad ka taxdaa iyaga ugu gaar ah ilaa ugu yar gaar ah, ku dhammeeya a "default" dib u dhac ku yimaada deegaannada aan la aqoon. Tani waxay hubineysaa in waqtiyada kale ee socodsiinta (tusaale ahaan, rarka biraawsarka ee isticmaalaya khariidadaha soo dejinta) ay wali isticmaali karaan xirmadaada.
Node sidoo kale wuxuu kuu ogolaanayaa inaad xaaladaha buulka ku haysato, sida inaad "node" laan ka kooban labada "import" iyo "require", oo lagu daray mid gaar ah "default" taas oo bartilmaameedsanaysa dhisme caalami ah. Dabacsanaantani waxay si gaar ah waxtar u leedahay marka xirmadaadu ay ku tiirsan tahay ku-darka asalka ah ee Node laakiin ay isticmaasho polyfill meel kale - fiiri Amniga npm oo cadaadis saaran yahay.
Marka laga reebo xaaladaha ku dhex jira, Node wuxuu taageeraa xaaladaha uu isticmaaluhu qeexay ee la mariyo node --conditions=<name>, iyo nidaamka deegaanka ee ballaaran ayaa isugu yimid furayaasha sida "browser", "types", "development", Iyo "production" xaalado gaar ah. Kuwani waxay kaa caawinayaan isku-dubaridka dhaqanka ee dhammaan band-yada, hubinta nooca, iyo waqtiyada socodsiinta.
Soo dejinta marin-hoosaadka iyo magacyada module-ka gudaha
Marka lagu daro exports, ka imports garoonka dhexdiisa package.json waxay kuu ogolaaneysaa inaad qeexdo qeexitaannada soo dejinta gaarka ah ee ku habboon oo keliya xirmada lafteeda. Tilmaamayaashani waxay had iyo jeer ku bilaabmaan # si looga fogaado isku dhaca baakadaha dibadda.
Tusaale ahaan, waxaad samayn kartaa khariidad "#dep" ku tiirsanaanta Noode-asal ahaan hal deegaan iyo polyfill kale iyadoo la adeegsanayo khariidado shuruudaysan oo hoos yimaada importsKoodhka ku jira xirmadaada ayaa markaa sameeya import '#dep' oo si toos ah u hela hirgelinta saxda ah.
Qaababka hoosaadka ayaa sidoo kale loo isticmaali karaa gudaha imports si loo kharido kooxaha faylasha gudaha, sida "#internal/*.js": "./src/internal/*.js"Tani waxay abuurtaa waddooyin nadiif ah oo deggan oo loogu talagalay modules-yada gudaha waxayna ka dhigaysaa dib-u-habeeyayaasha kuwo la maarayn karo iyada oo aan faahfaahinta hirgelinta loo daadin isticmaalayaashaada.
Xeerarka xallinta ee imports muraayad kuwa exports, oo ay ku jiraan xayiraado ka dhigaya waddooyinka ku jira xididka baakadka oo diidaya in loo gudbo node_modulesTani waxay ilaalinaysaa isku-xidhka waxayna ka hortagtaa dhaqan la yaab leh.
Is-tixraaca waa sifo kale oo horumarsan, taasoo u oggolaanaysa koodhka ku jira baakadka inuu magaciisa soo geliyo ilaa iyo inta uu yahay exports khariidadda waa la qeexay. Tusaale ahaan, haddii xirmadaadu magac leedahay "a-package" iyo dhoofinta "." iyo "./foo.js", faylasha gudaha ayaa qori kara import { something } from 'a-package' oo isticmaal isla barta laga galo ee macaamiishu helaan.
Farsamadani waxay ka fogaataa waddooyin qoto dheer oo qaraabo ah waxayna hubisaa in soo dejinta gudaha ay had iyo jeer ka tarjumayso xuduudaha API-ga dadweynaha ee ay qeexday exportsWaxay sidoo kale la shaqeysaa CommonJS iyada oo loo marayo require('a-package/foo.js') marka waddadaas hoose la dhoofiyo.
sifooyinka xallinta moduleka npm iyo Node Waxay ku siinaysaa xakameyn adag sida xirmooyinka adag - oo ay ku jiraan matoorada madasha sida nodebbs - loo qaabeeyey, loo qaybiyey, loona isticmaalay. Iyadoo la baranayo qaababka rakibidda, maaraynta ku tiirsanaanta, nooca macnaha, hubinta amniga, iyo habaynta barta gelitaanka ee horumarsan exports iyo imports, waxaad si kalsooni leh u dhisi kartaa, u dhexgelin kartaa, oo u ilaalin kartaa xirmooyinka npm ee casriga ah kuwaas oo sii ahaanaya kuwo xasilloon oo la saadaalin karo maadaama saldhiggaaga koodhka iyo nidaamka deegaanka ee ku xeeran ay sii socdaan inay horumaraan.