Ноде.јс је добро познато опен-соурце бесплатно ЈаваСцрипт окружење за извршавање које омогућава корисницима да изврше ЈаваСцрипт код из датотеке или директно из командне линије. Покретање ЈаваСцрипт кода из датотеке захтева екстерни „. јс ” датотеку док командна линија извршава ЈаваСцрипт код директно ред по ред.
Понекад корисник треба да конфигурише информације док покреће апликацију Ноде.јс из командне линије преко „ чвор<име датотеке> ”. У таквој ситуацији, корисник треба да проследи те информације директно као улаз са командом за извршавање уместо да их упише у „. јс ” фајл.
У овом тексту ће се расправљати о свим могућим методама за прихватање уноса из командне линије у Ноде.јс.
Како прихватити унос из командне линије у Ноде.јс?
Ноде.јс нуди следеће модуле за прихватање уноса из командне линије:
- Коришћење модула „реадлине“.
- Коришћење модула „реадлине-синц“.
- Коришћење „промпт“ модула
- Коришћење модула „инкуирер“.
Почнимо са „ реадлине ” модул.
Предуслови : Пре него што пређете на практичну примену било које методе, прво направите „. јс ” датотеку било ког имена и у њу упишите сав изворни код. Овде смо направили „ индекс .јс” датотеку.
Метод 1: Прихватите унос из командне линије помоћу модула „реадлине“.
„ реадлине ” модул креира интерфејс за читање корисничког уноса из читљивог тока и враћање његовог одговора као резултантног излаза. То је уграђени модул тако да корисник може да га увезе директно у апликацију Ноде.јс без инсталирања помоћу „ нпм ”.
У овом сценарију, користи се за преузимање уноса из командне линије, а затим за штампање на излазном екрану. Ево његове практичне примене:
конст реадлине = захтевају ( 'реадлине' )конст рл = реадлине. цреатеИнтерфаце ( {
улазни : процес. стдин ,
излаз : процес. стдоут
} )
рл. питање ( `Најбоља платформа за технички садржај ? ` , веб сајт => {
рл. питање ( `Коју категорију желите да истражите ? ` , категорија => {
конзола. Пријава ( `Веб-сајт : $ { веб сајт } , Категорија : $ { категорија } ` )
рл. Близу ( )
} )
} )
Опис горњих линија кода је следећи:
- Прво, „ захтевају ()“ метод увози „ реадлине ” модул у тренутном пројекту Ноде.јс.
- Затим, „ цреатеИнтерфаце ()“ метод специфицира „ улаз и излаз ” токови као објекат. „ улазни ” стреам користи “ процесс.стдин ” својство за узимање уноса од корисника.
- „ излаз ” стреам користи “ процес.стдоут ” својство за читање улазног тока и његово штампање као стандардни излаз датог улазног тока.
- Након тога, „ рл.питање ()” метода узима унос од корисника. Он прослеђује питање као први и функцију повратног позива као други аргумент. Дата функција стрелице повратног позива преузима вредности које је унео корисник.
- У дефиницији датог „ веб сајт ”, и „ категорија ” функција стрелице за повратни позив, „ цонсоле.лог ()” се користи за приказ унетих вредности.
- На крају, „ рл.цлосе ()” метода затвара претходно креирани интерфејс.
Излаз
Покрени „ индекс .јс” датотеку извршавањем наведене команде:
индекс чвора. јсСледећи излаз приказује интерфејс за читање који узима кориснички унос из командне линије, а затим приказује унету вредност као стандардни излаз:
Метод 2: Прихватите унос из командне линије користећи модул „реадлине-синц“
„ реадлине-синц ” је модул треће стране који синхроно преузима информације везане за тврдокодирана питања и чува њихове одговарајуће одговоре за будуће операције. Делује као комуникација између клијента и сервера из командне линије.
Главна разлика између асинхроних и синхроних модула је у томе што „ асинхрони ” блокира извршавање изворног кода све док се његов специфицирани задатак не изврши, док синхрони модули извршавају код ред по ред на секвенцијални начин.
Инсталирајте модул „реадлине-синц“.
Тхе „реадлине-синц“ модул није уграђени модул, тако да га треба ручно инсталирати извршавањем наредбе испод:
нпм инсталл реадлине - синхронизоватиИзлаз показује да је модул реадлине-синц додат тренутном пројекту Ноде.јс:
Сада користите „ реадлине-синц ” практично пратећи дати исјечак кода:
био реадлинеСинц = захтевају ( 'реадлине-синц' ) ;био емпНаме = реадлинеСинц. питање ( 'Име запосленог: ' ) ;
био јд = реадлинеСинц. питање ( 'Опис посла: ' ) ;
био компанија = реадлинеСинц. питање ( 'Компанија: ' , {
} ) ;
конзола. Пријава ( емпНаме + ' ради као ' + јд + 'у' + компанија ) ;
Објашњење горњег кода је следеће:
- Прво, „ реадлине-синц ” модул се увози унутар датотеке и његов објекат се чува у новој променљивој “ реадлинеСинц ”.
- Затим се упит поставља уз помоћ „ питање ()” тако што ћете га навести као аргумент.
- Исти поступак се користи и за постављање наредних питања.
- Након тога, „ цонсоле.лог ()” метода се користи за приказ унетих вредности заједно са стрингом у наводницима.
Излаз
Извршите „ индекс .јс” датотека:
индекс чвора. јсИзлаз показује да је на синхрони начин, унос од корисника узет и приказан помоћу „ реадлине-синц ” модул:
Метод 3: Прихватите унос из командне линије помоћу модула „промпт“.
„ промпт ” је асинхрони модул који креира функцију промптовања за чување корисничког уноса као вредности променљиве, а затим га преузима као резултујући излаз. Не мора експлицитно да конфигурише стрим за читање и писање, због чега је прилично једноставан за коришћење у поређењу са „ реадлине ” модул.
Инсталирајте 'промпт' модул
„ промпт ” је такође модул треће стране који се лако може инсталирати уз помоћ „ нпм ' на овај начин:
нпм инсталл промпт -- сачуватиУ горњој команди, „ -сачувати ” застава додаје „ промпт “ модул за “ пацкаге.јсон ” фајл.
Може се анализирати да је „ промпт ” је додат тренутном пројекту Ноде.јс:
Сада користите инсталирани „ промпт ” модул практично уз помоћ следећег исечка кода:
конст промпт = захтевају ( 'промпт' )промпт. почетак ( )
промпт. добити ( [ 'ауторНаме' , 'Категорија' ] , ( ерр , резултат ) => {
ако ( ерр ) {
бацити ерр
} друго {
конзола. Пријава ( `$ { резултат. аутхорНаме } ради на $ { резултат. Категорија } ` )
}
} )
У горе наведеном блоку кода:
- „ захтевају ()“ метод увози „ промпт ” модул у пројекат.
- „ почетак ()” метода покреће промпт.
- „ добити ()” метод преузима унос од корисника преко командне линије. Он наводи називе својстава и функцију стрелице повратног позива као први и други параметар.
- Функција повратног позива са „ ерр ' и ' резултат ” параметри дефинишу „ ако друго ' изјава.
- Ако дође до било које врсте грешке, онда „ ако ” блок ће избацити ту грешку у супротном „ друго ” блок ће приказати вредности наведених својстава као излаз.
Излаз
Покренути ' индекс .јс” датотека:
индекс чвора. јсСледећи излаз узима кориснички унос на основу наведених својстава, а затим преузима њихове вредности као излаз:
Метод 4: Прихватите унос из командне линије помоћу модула „инкуирер“.
У Ноде.јс, „ испитивач ” је једноставан начин за преузимање уноса из командне линије. Долази са неколико корисних метода за примање уноса од корисника, а затим враћање излаза помоћу „ одговор „објекат и „. онда ()” уграђени метод.
Корисно је за постављање различитих врста питања од корисника преко командне линије, као што су листа, опције, унос, поља за потврду и још много тога. Пружа згодан начин да интерфејс командне линије учини интерактивним за задатке засноване на упитима.
Пратите детаљан водич на „ Узмите унос из командне линије користећи Ноде.јс Инкуирер ” за практичну демонстрацију.
Савет: Како пренети аргументе из командне линије у чвору?
Корисник такође може да пренесе аргументе из командне линије. У ту сврху, „ процес.аргв ” својство се може користити. „ аргв ” је уграђено својство модула „процес” које се користи за прослеђивање аргумената из командне линије док се покреће Ноде.јс апликација користећи „ чвор<име датотеке> ” команда.
Пратите детаљан водич на „ Проследите аргументе из командне линије у Ноде.јс ” за практичну демонстрацију.
То је све о прихватању уноса из командне линије у Ноде.јс.
Закључак
Да бисте прихватили унос из командне линије, користите асинхрони „ реадлине ”, или синхрони „ реадлине-синц ” модул. Штавише, може се извести и преко „ промпт ' или ' испитивач ” модул. Осим „ редлине-синц ” модул, сви преостали модули су асинхрони. Овај текст разматра све могуће методе за прихватање уноса из командне линије у Ноде.јс.