npm komut dosyaları
Sözdizimi
package.json
içindeki “scripts” özelliği, npm paketlerini yerel olarak çalıştırmanıza izin verir.- “karma”: “karma” komut dosyası, “karma” kabuk komut dosyasına başvurur, “node_modules/.bin” dizinidir. Diğer npm betiklerinde kullanılabilmesi için bu referansın alınması ve ona bir takma ad uygulanması gerekir, örneğin “test”: “karma start”`.
Önceden tanınan komut dosyaları
prepublish
: Paket yayınlanmadan önce çalıştıryayınla
,postpublish
: Paket yayınlandıktan sonra çalıştırpreinstall
: Paket kurulmadan önce çalıştırıninstall
,postinstall
: Paket yüklendikten sonra çalıştırınpreversion
,version
: Paket sürümünü çarpmadan önce çalıştırınpostversion
: Paket sürümünü çarptıktan sonra çalıştırın- ‘pretest’, ’test’, ‘posttest’: ’npm test’ komutuyla çalıştırın
prestop
,stop
,poststop
:npm stop
komutuyla çalıştırın- ‘prestart’, ‘start’, ‘poststart’: ’npm start’ komutuyla çalıştırın
prerestart
,restart
,postrestart
:npm restart
komutu ile çalıştırın. Not: “npm restart”, “yeniden başlatma” komut dosyası sağlanmazsa, durdurma ve başlatma komut dosyalarını çalıştırır.
package.json
içindeki scripts
özelliğinin çok güçlü bir araç olduğu sonucuna varılabilir. Grunt ve Gulp’a benzer bir yapı aracı olarak kullanılabilir, ancak 250.000’den fazla paket mevcuttur. NPM betikleri, projenize yerel olarak kurulan npm paketlerini node_modules/.bin
dizininden çalıştırır.
npm komut dosyalarını çalıştırma
İki tür npm betiği vardır ve her birini çalıştırma komutu biraz farklıdır. İlk npm betikleri türü, “önceden tanınan” betiklerdir. Bu komut dosyaları npm tarafından otomatik olarak tanınır ve bunları çalıştırmak için (diğer tür için göreceğiniz gibi) özel bir önek gerekmez. Diğer komut dosyası türü “özel” komut dosyalarıdır. Bu komut dosyaları npm tarafından önceden tanınmaz ve bunları çalıştırmak için özel bir komutla ön eke sahip olmaları gerekir. Açıklamalar bölümünde önceden tanınan komut dosyalarının bir listesi vardır.
Önceden tanınan komut dosyalarını çalıştırmak için:
“npm start” veya “npm testi”
Özel komut dosyalarını çalıştırmak için “run” komutunu kullanmanız gerekir:
npm karma çalıştır
npm betikleri nedir ve nasıl tetiklenir
npm betikleri, uygun argümanlarla çağrıldığında ’npm’nin sizin için çalıştıracağı komutlardır. Bunun gücü ve anlamı, ortamınızı küresel olarak kirleten npm paketlerini KURMAMAKTIR.
Önceden tanınan ve özel komut dosyaları arasındaki fark, etiketler arasındaki “çalıştır” kelimesine dayanır, ** “özel” komut dosyaları, npm ile komut dosyası adı arasında “çalıştır” gerektirir**
Buna dayanarak, npm ile çalıştırılacak farklı görevleri veya komut dosyalarını ayırt edebilir ve oluşturabiliriz.
“package.json” dosyasında aşağıdaki örnek verilmiştir:
{
"name": "MyApp",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "mocha --recursive ./tests/",
"test:watch": "npm run test -- -w",
"start": "nodemon --inspect ./app.js",
"build": "rm -rf ./dist/ && gulp build"
}
...
}
Çalıştırılacak farklı görevleri görebiliriz:
-
npm testi
önceden tanınan bir komut dosyası olduğu için iyi çalışır -
npm çalıştırma testi
Bir npm komut dosyasını yürütmenin geçerli bir yolu olduğundan iyi çalışır -
`npm run test:watch’ Ayrıca işe yarar ve kendi içinde npm run testini çağırıyor
-
npm run build
gulp build
i çalıştırmadan önce dizindekidist
klasörünü siler (Linux’ta olduğunuzu veyarm
komutunun tanındığını varsayarak)
Karmayı yerel olarak çalıştırma
“package.json” snippet’i
{
"scripts":
"test": "karma start",
"karma": "karma"
}
}