нпм скрипте повезују скуп терминалских команди које можете користити за аутоматизацију задатака у ЈаваСцрипт пројекту. Они такође пружају доследан начин покретања команди у различитим окружењима.
Можете подесити нпм скрипте у датотеци пацкаге.јсон, покренути их на командној линији и користити широк скуп опција за конфигурисање њиховог понашања.
Подешавање нпм скрипти у датотеци пацкаге.јсон
Обично дефинишете нпм скрипте у датотеци пацкаге.јсон, која се налази у корену вашег ЈаваСцрипт пројекта. Ово није обавезно јер можете да извршавате скрипте из других датотека, али пацкаге.јсон олакшава приступ вашим скриптама и управљање њима.
Имајте на уму да морате да имате нпм и Ноде инсталиране у вашем развојном окружењу да бисте то пратили. Ево неколико корисних чланака:
- Како да инсталирајте Ноде.јс и нпм на Виндовс.
- Како да инсталирајте Ноде.јс и нпм на Убунту.
Да бисте подесили нпм скрипту у пацкаге.јсон, следите доле наведене кораке:
- Идите до корена вашег пројекта.
- Покрените нпм инит на терминалу. Команда ће вам поставити нека питања о вашем пројекту. Одговорите им да направите одговарајућу датотеку пацкаге.јсон.
нпм инит
- У датотеци пацкаге.јсон пронађите поље за скрипте. Овде можете додати име скрипте и команду коју треба да покрене као парове кључ/вредност. На пример, скрипта испод, названа хелло-ворлд, штампа „Хелло ворлд“ у терминалу када се покрене.
{
"скрипте": {
"Здраво Свете": "одјек \\"Здраво Свете\\""
}
}
Ево неких уобичајених скрипти за ЈаваСцрипт пројекте:
- почетак: Ова скрипта покреће развојни сервер. На пример, у пројекту Ноде, може покрените сервер користећи нодемон.
- градити: Генерише производни код за вашу апликацију и може да користи алатку као што је веб пакет за умањивање и груписање кода.
- тест: Ова скрипта покреће тестове дефинисане у вашем пројекту. Може покренути оквир за тестирање као што је Јест.
- линт: Линт скрипта покреће алатку за линтинг као што је ЕСЛинт да провери код да ли има потенцијалних грешака.
- гледати: Ова скрипта прати изворни код за промене и затим покреће команду. Корисно је за поновно покретање тестова или поновну изградњу апликације након промене кода.
- развити: Покреће команду која примењује апликацију у наведеном окружењу као што је производња или фаза.
Пре и Пост скрипте
нпм подржава пре и пост скрипте. Пре скрипте се покрећу пре одређене скрипте, док се пост скрипте покрећу после. Можете креирати пре и пост скрипте за било коју скрипту, само дајте префикс "пре" или "пост" у назив скрипте.
На пример, испод су скрипте пре и после теста које ће се покретати пре и после тест скрипте.
{
"скрипте": {
"претест": "нпм рун линт",
"тест": "шала",
"посттест": "нпм рун буилд"
}
}
Покретање нпм скрипти из пакета.јсон
Када додате нпм скрипту у пацкаге.јсон, можете је покренути помоћу команде нпмрун.
Ево синтаксе:
нпм рун
На пример, да бисте покренули почетну скрипту дефинисану раније, користите:
нпм рун старт
Команду нпмрун можете извршити самостално, да бисте добили листу свих доступних скрипти у пројекту. Ево неких примера излаза:
Скрипте доступне у нпм-сцриптс-демо@1.0.0 преко `нпм рун-сцрипт`:
Здраво Свете
ехо "Здраво свете"
Наводи име скрипте и команду коју покреће.
Коришћење стенографских команди за покретање уграђених скрипти
нпм подржава неколико уграђених скрипти које можете покренути користећи скраћене команде. На пример, да бисте покренули нпм скрипту под називом старт, можете користити нпм старт, уместо нпм рун старт.
Ово је практичније и брже од куцања целе команде. Остале уграђене скрипте које можете покренути на овај начин укључују "тест", "стоп" и "рестарт".
Покретање више нпм скрипти
Можете покренути више нпм скрипти на два начина:
- Узастопно
- Паралелно
Ако користите Линук или било који други систем сличан Уник-у, можете користити стандард методе покретања више команди одједном.
Да бисте покренули више нпм скрипти узастопно користите &&, на пример:
нпм рун старт && нпм тест
Да бисте покренули више нпм скрипти паралелно користите &, на пример:
нпм рун сервер & нпм рун цлиент
У окружењима која нису УНИКС, можете користити команду нпм-рун-алл или истовремено нпм пакет.
Коришћење нпм-рун-алл:
нпм-рун-алл --паралелни серверски клијент
Истовремено коришћење у пацкаге.јсон.
"скрипте": {
"дев": "истовремено \\"нпм рун сервер\\" \\"нпм рун цлиент\\"",
}
Имајте на уму да морате да инсталирате пакете нпм-рун-алл и Цонцуррентли пре него што их користите.
Решавање уобичајених грешака у Нпм скрипти
Испод су неке уобичајене грешке на које можете наићи када покрећете нпм скрипте:
- нпм ерр! недостаје скрипта — Ова грешка се јавља када нисте дефинисали скрипту коју покушавате да покренете у датотеци пацкаге.јсон. Уверите се да сте правилно написали име скрипте и да ли је оно дефинисано у пољу скрипте датотеке пацкаге.јсон.
- Дозвола одбијена — Ова грешка се јавља када немате дозволу за покретање скрипте, па се уверите да имате праве дозволе.
- Недостају зависности — Ова грешка се јавља када скрипта користи пакет који није инсталиран. Користите алат као депцхецк да проверите да ли недостају зависности у пацкаге.јсон, а затим их инсталирајте користећи нпм инсталл.
- Непозната команда — Ова грешка се обично јавља када покренете прилагођену скрипту као уграђену нпм команду. Обавезно користите нпм рун или нпм рун-сцрипт приликом покретања прилагођених скрипти.
Коришћење променљивих окружења у нпм скриптама
Променљиве окружења омогућавају вам да проследите информације без тешког кодирања. Да бисте користили променљиве окружења у нпм скрипти, можете користити цросс-енв нпм пакет. Овај алат вам помаже да поставите променљиву окружења у било ком окружењу.
Почните тако што ћете покренути ову команду на терминалу да бисте је инсталирали као зависност за програмере:
нпм и саве -Д цросс-енв
Затим га користите у својој скрипти овако:
{
"скрипте": {
"градити": „цросс-енв НОДЕ_ЕНВ=производни веб пакет“
}
}
Овде цросс-енв поставља променљиву НОДЕ_ЕНВ на „производњу“.
Преношење аргумената командне линије у скрипте
Можете проследити аргументе командне линије нпм скрипти користећи две цртице „--“ иза имена скрипте. На пример, следећа команда покреће тест скрипту са аргументом ватцх:
нпм рун тест -- --ватцх
Такође можете послати аргумент командне линије нпм скрипти овако:
нпм покрените мој порт --ПОРТ=3000
Затим му приступите у скрипти на следећи начин.
"скрипте": {
"моја лука": "одјек \\"Порт: $нпм_цонфиг_ПОРТ\\""
}
На Виндовс систему, користите ово:
"скрипте": {
"моја лука": "одјек \\"Порт: %нпм_цонфиг_ПОРТ%\\""
}
Скрипта треба да одштампа „Порт: 3000“ када је покренете.
Зашто користити нпм скрипте?
Можете додати скрипте у пацкаге.јсон, покренути их на командној линији, користити пре и пост куке и проследити им аргументе линије и променљиве окружења.
нпм скрипте су моћан начин аутоматизације задатака у ЈаваСцрипт пројектима. Они могу побољшати ваш ток посла и уштедети вам време тако што вам пружају доследне команде за покретање више задатака.