-Save-dev npm install grunt içinde ne anlama geliyor - save-dev


277

Grunt.js kullanmaya yeni başladım . Kurulumu oldukça zor ve ben bir package.jsondosya oluşturma noktasındayım .

Bu öğreticiyi izleyerek , package.jsondosya oluşturmanın 3 yolu olduğunu söylüyor .

Birincisi yapmak npm install grunt --save-dev

Peki ne anlama --save-devgeliyor? Bakmaya çalıştım ama boşuna bitiyor.


Sanırım bazı cevaplar bulmayı başardım. Dependencies - Vennsoh
npmjs.org/doc/json.html#dev

eğitim bağlantısı kırık
SteveC

Yanıtlar:


317

--save-dev: Paket, Bağımlılıklarınızda görünecektir.

Göre NPM belgeler yükleyin .

Birisi modülünüzü programında indirmeyi ve kullanmayı planlıyorsa, muhtemelen kullandığınız harici test veya dokümantasyon çerçevesini indirmek ve oluşturmak istemez.

Başka bir deyişle, çalıştırdığınızda npm install, projenizin devDependencies yüklenecek, ancak uygulamanızın bağlı olduğu paketler için devDependencies yüklenmeyecek; ayrıca, uygulamanızı bağımlı olarak kullanan diğer uygulamaların devDependencies yüklemenize gerek yoktur. Bu tür modüller sadece uygulama geliştirilirken gereklidir (örn. Homurdanma, moka vb.).

Pakete göre. Json belgeleri

Düzenleme: Ne işe yarar görselleştirmeye çalışın npm install:

  • senin projen
    • bağımlılık kuruldu
      • bağımlılık kuruldu
        • bağımlılık kuruldu
        • devDependency NOT kurulu değil
      • devDependency NOT kurulu değil
    • devDependency yüklendi
      • bağımlılık kuruldu
      • devDependency NOT kurulu değil

2
varsayılan olarak dev bağımlılıkları ile yüklemek alışkanlık ama nasıl o zaman yüklemek? npm install --devbayrak?
StanleyZheng

4
@stanzheng Ne bilmeniz gerektiğinden emin değilim. Bir npm installprojedeyseniz ve çalıştırıyorsanız , projenin devDependencies da yüklenir. Bir bağımlılığın devDependencies'ın yüklenmesini istemezsiniz. Bir npm paketi üzerinde geliştirmek istiyorsanız, git clone xxxo projeyi yürütür ve çalıştırabilirsiniz npm install.
Andreas Hultgren

3
"npm yüklemesini çalıştırdığınızda uygulamanızın bağımlılıkları için devDependencies yüklenmeyecek" yanlış. Bir package.json varsa ve yalnızca benim npm paketleri ile "devDependencies" içeriyorsa ve sonra "npm install" yazın, bu "devDependecies" yüklenir.
çekirdek

6
Anlamaya çalıştım ve anlamadım. Sonra görselleştirmeyi anlamaya çalıştım ve anlamadım. Her madde işareti öğesi ne anlama geliyor? Bir klasör? Üstü çizili öğe ne anlama geliyor? Varolmayan bir dizin mi? Bu doğruysa, var olmayan şeyleri nasıl kapsamlı bir şekilde listeleyebilirsiniz ?
Rafael Eyng

8
Eğer açıklığa kavuşturmak için npm installprojenizde çalıştırılır, package.json tüm devDependencies kurulacak, ancak yeni bir npm paket olarak projenizi paketlemek ve başkası NPM ile paket yüklemek yüklediğinde, yayınladığınız takdirde, devDependencies olmayacak sistemlerinde yüklü. Bu doğru mu? @stanzheng veya npm install çalıştırabilirsiniz
rwilson04

99

Package.json dosyalarınızda belirtebileceğiniz (en az) iki tür paket bağımlılığı vardır:

  1. Modülünüzü kullanmak için gereken paketler "bağımlılıklar" özelliği altında listelenir. Npm kullanarak aşağıdaki bağımlılıkları package.json dosyanıza şu şekilde ekleyebilirsiniz:

    npm install --save packageName
  2. Modülünüzü geliştirmenize yardımcı olması için gereken paketler "devDependencies" özelliği altında listelenir. Bu paketler, başkalarının modülü kullanması için gerekli değildir, ancak modülü geliştirmeye yardımcı olmak istiyorlarsa, bu paketler gerekecektir. Npm kullanarak bu devDependencies'i package.json dosyanıza şu şekilde ekleyebilirsiniz:

    npm install --save-dev packageName

35

Andreas'ın cevabına eklemek için, yalnızca bağımlılıkları aşağıdakileri kullanarak yükleyebilirsiniz:

npm install --production

7

İçin NPM gelen Dokümantasyon npm install <package-name> --saveve npm install <package-name> --save-devburada bulunabilir:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

Bir package.jsondosya, geliştirmekte olduğunuz modül hakkındaki meta verileri bildirir. Her iki komut da bu package.jsondosyayı değiştirir . --savekurulu paketi (bu durumda grunt) modülünüze bağımlı olarak ilan edecektir ; --save-devbunu modülünüzün geliştirilmesi için bir bağımlılık olarak ilan edecektir.

Kendinize sorun: kurulu paket modülümü kullanmak için mi gerekli olacak, yoksa sadece geliştirmek için mi gerekli olacak?


6

"--Save" parametresini kullandığınızda bağımlılığınız package.json içinde aşağıdaki # 1 içine girecektir. "--Save-dev" parametresini kullandığınızda bağımlılığınız package.json içinde aşağıdaki # 2 içine girecektir.

# 1. "bağımlılıklar": Bu paketler üretimdeki uygulamanız için gereklidir.

# 2. "devDependencies": bu paketler yalnızca geliştirme ve test için gereklidir


5

Benim için ilk cevap biraz kafa karıştırıcı görünüyor, bu yüzden kısa ve temiz yapmak için:

npm install <package_name>belirtilen paketleri varsayılan olarak bağımlılıklara kaydeder . Ayrıca, bazı ek bayraklarla nereye ve nasıl kaydedileceklerini denetleyebilirsiniz:

npm install <package_name> --no-save Bağımlılıklardan tasarruf etmeyi önler.

npm install <package_name> ---save-devdevDependenciespaketinizde güncellenir . Bunlar yalnızca yerel test ve geliştirme için kullanılır.

Daha fazla bilgiyi şu adreste bulabilirsiniz : dcu

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.