Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

npm скриптовете обединяват набор от терминални команди, които можете да използвате за автоматизиране на задачи в JavaScript проект. Те също така осигуряват последователен начин за изпълнение на команди в различни среди.

Можете да настроите npm скриптове във файл package.json, да ги стартирате от командния ред и да използвате широк набор от опции, за да конфигурирате тяхното поведение.

Настройване на npm скриптове във файла package.json

Обикновено дефинирате npm скриптове във файл package.json, разположен в основата на вашия JavaScript проект. Това не е задължително, тъй като можете да изпълнявате скриптове от други файлове, но package.json улеснява достъпа и управлението на вашите скриптове.

Имайте предвид, че трябва да имате инсталирани npm и Node във вашата среда за разработка, за да следвате. Ето няколко полезни статии:

  • Как да инсталирайте Node.js и npm на Windows.
  • Как да инсталирайте Node.js и npm на Ubuntu.
instagram viewer

За да настроите npm скрипт в package.json, следвайте стъпките по-долу:

  1. Отидете до корена на вашия проект.
  2. Стартирайте npm init на терминала. Командата ще ви зададе някои въпроси относно вашия проект. Отговорете им, за да създадете подходящ файл package.json.
    npm инициал 
  3. Във файла package.json намерете полето за скриптове. Тук можете да добавите името на скрипт и командата, която трябва да изпълнява като двойки ключ/стойност. Например скриптът по-долу, наречен hello-world, отпечатва „Hello world“ в терминала, когато се стартира.
    {
    "скриптове": {
    "Здравей свят": "ехо \\"Здравей свят\\""
    }
    }

Ето някои често срещани скриптове за JavaScript проекти:

  • започнете: Този скрипт стартира сървъра за разработка. Например в проект Node може стартирайте сървъра с помощта на nodemon.
  • изграждане: Генерира производствения код за вашето приложение и може да използва инструмент като webpack за минимизиране и групиране на кода.
  • тест: Този скрипт изпълнява тестовете, дефинирани във вашия проект. Може да изпълнява рамка за тестване като Jest.
  • мъх: Линт скрипт изпълнява инструмент за линтинг като ESLint, за да провери кода за потенциални грешки.
  • гледам: Този скрипт следи изходния код за промени и след това изпълнява команда. Полезно е за повторно провеждане на тестове или повторно изграждане на приложението при промяна на кода.
  • разгърнете: Изпълнява команда, която внедрява приложението в определената среда като производствена или етапна.

Скриптове преди и след

npm поддържа скриптове преди и след. Предварителните скриптове се изпълняват преди конкретен скрипт, докато пост скриптовете се изпълняват след това. Можете да създавате пре и след скриптове за всеки скрипт, просто добавете префикс "pre" или "post" към името на вашия скрипт.

Например, по-долу са дадени предварителни и следтестови скриптове, които ще се изпълняват съответно преди и след тестовия скрипт.

{
"скриптове": {
"предварителен тест": "npm run lint",
"тест": "шега",
"посттест": "npm run build"
}
}

Изпълнение на npm скриптове от package.json

След като добавите npm скрипт към package.json, можете да го стартирате с помощта на командата npmrun.

Ето синтаксиса:

npm изпълнение 

Например, за да стартирате началния скрипт, дефиниран по-рано, използвайте:

npm изпълнение стартиране

Можете да изпълните командата npmrun самостоятелно, за да получите списъка с всички налични скриптове в даден проект. Ето някои примерни резултати:

Скриптове, налични в [email protected] чрез `npm run-script`:
Здравей свят
echo "Здравей свят"

Той изброява името на скрипта и командата, която изпълнява.

Използване на стенографски команди за изпълнение на вградени скриптове

npm поддържа няколко вградени скрипта, които можете да стартирате с помощта на съкратени команди. Например, за да стартирате npm скрипт с име start, можете да използвате npm start вместо npm run start.

Това е по-удобно и по-бързо от въвеждането на цялата команда. Други вградени скриптове, които можете да изпълнявате по този начин, включват "тест", "стоп" и "рестартиране".

Изпълнение на множество npm скриптове

Можете да стартирате множество npm скриптове по два начина:

  • Последователно
  • Паралелно

Ако използвате Linux или друга Unix-подобна система, можете да използвате стандарта методи за изпълнение на множество команди наведнъж.

За да изпълните множество npm скриптове последователно, използвайте &&, например:

npm стартирайте стартиране && npm тест

За да стартирате паралелно множество npm скриптове, използвайте &, например:

npm run сървър и npm run клиент

В среди, различни от UNIX, можете да използвате командата npm-run-all или едновременно пакета npm.

Използване на npm-run-all:

npm-run-all --parallel сървър клиент

Използване едновременно в package.json.

"скриптове": {
"dev": "едновременно \\"сървър за изпълнение на npm\\" \\"клиент за стартиране на npm\\"",
}

Имайте предвид, че трябва да инсталирате пакетите npm-run-all и Concurrently, преди да ги използвате.

Отстраняване на често срещани грешки в Npm скрипт

По-долу са някои често срещани грешки, които може да срещнете, когато изпълнявате npm скриптове:

  • npm грешка! липсващ скрипт — Тази грешка възниква, когато не сте дефинирали скрипта, който се опитвате да изпълните във файла package.json. Уверете се, че изписвате правилно името на скрипта и че е дефинирано в полето за скриптове на файла package.json.
  • Разрешението е отказано — Тази грешка възниква, когато нямате разрешение да стартирате скрипт, така че се уверете, че имате правилните разрешения.
  • Липсващи зависимости — Тази грешка възниква, когато скриптът използва пакет, който не е инсталиран. Използвайте инструмент като depcheck за да проверите за зависимости, липсващи от package.json, след което ги инсталирайте с помощта на npm install.
  • Непозната команда — Тази грешка обикновено възниква, когато изпълнявате персонализиран скрипт като вградена команда npm. Уверете се, че използвате npm изпълнение или npm изпълнява скрипт когато изпълнявате персонализирани скриптове.

Използване на променливи на средата в npm скриптове

Променливи на средата ви позволяват да предавате информация, без да я кодирате твърдо. За да използвате променливи на средата в npm скрипт, можете да използвате cross-env npm пакет. Този инструмент ви помага да зададете променлива на околната среда във всяка среда.

Започнете, като изпълните тази команда на терминала, за да я инсталирате като зависимост от разработчици:

npm запазвам -D cross-env

След това го използвайте във вашия скрипт по следния начин:

{
"скриптове": {
"строя": "cross-env NODE_ENV=производствен уебпакет"
}
}

Тук cross-env задава променливата NODE_ENV на "production".

Предаване на аргументи от командния ред към скриптове

Можете да подадете аргументи от командния ред към npm скрипт, като използвате две тирета "--" след името на скрипта. Например следната команда изпълнява тестовия скрипт с аргумента watch:

npm изпълнете тест -- -- гледайте

Можете също така да изпратите аргумент от командния ред към npm скрипт като този:

npm изпълни my-port --PORT=3000

След това го отворете в скрипта, както следва.

"скриптове": {
"моят порт": "ехо \\"Порт: $npm_config_PORT\\""
}

В система Windows използвайте това:

"скриптове": {
"моят порт": "ехо \\"Порт: %npm_config_PORT%\\""
}

Скриптът трябва да отпечата "Порт: 3000", когато го стартирате.

Защо да използвате npm скриптове?

Можете да добавяте скриптове към package.json, да ги изпълнявате от командния ред, да използвате pre и post кукички и да им предавате аргументи на реда и променливи на средата.

npm скриптовете са мощен начин за автоматизиране на задачи в JavaScript проекти. Те могат да подобрят вашия работен процес и да ви спестят време, като ви предоставят последователни команди за изпълнение на множество задачи.