Benim npm kullanımı minimize / uglified css / js oluşturmak ve bir django uygulaması tarafından sunulan sayfalarda gerekli javascript oluşturmaktır. Uygulamalarımda, Javascript animasyonlar oluşturmak için sayfada çalışır, bazen ajax aramaları yapar, bir VUE çerçevesi içinde çalışır ve / veya css ile çalışır. Package-lock.json dosyasının package.json dosyasındaki bazı geçersiz kılma denetimleri varsa, bu dosyanın bir sürümü olması gerekebilir. Deneyimlerime göre ya npm install tarafından neyin yüklendiğini etkilemez ya da eğer öyleyse, benim bilgime dağıttığım uygulamaları olumsuz etkilememiştir. Mongodb veya geleneksel olarak ince istemci olan diğer uygulamaları kullanmıyorum.
Npm install bu dosyayı oluşturduğundan ve npm install uygulamayı çalıştıran her sunucuda konuşlandırma işleminin bir parçası olduğu için package-lock.json dosyasını repo'dan kaldırırım. Düğüm ve npm sürüm kontrolü her sunucuda elle yapılır, ancak bunların aynı olmasına dikkat ediyorum.
Ne zaman npm install
sunucu üzerinde çalıştırılır, yani paket-lock.json değiştirir ve sunucudaki repo tarafından kaydedilen bir dosyada değişiklik varsa, bir sonraki dağıtma sen kökenli yeni değişiklikler çıkarmak için izin alışkanlık. Çekme paketi-lock.json üzerinde yapılan değişikliklerin üzerine yazacağı için konuşlayamazsınız.
Paket-lock.json paketin içeriğini yansıtmıyorsa, npm bir komut verdiğinizde npm'den şikayet edeceğinden, yerel olarak oluşturulan bir paket-lock.json'un repoda bulunanlarla (sabit kaynak yöneticisini sıfırla) üzerine yazamazsınız. npm kurulumundan dolayı node_modules, böylece konuşlandırmayı bozar. Şimdi bu node_modules'e biraz farklı sürümlerin kurulduğunu gösteriyorsa, bu bana bir daha asla sorun yaratmadı.
Node_modules deponuzda değilse (ve olmamalıdır), package-lock.json yoksayılmalıdır.
Bir şey eksiksem, lütfen yorumlarda beni düzeltin, ancak sürümlendirmenin bu dosyadan alındığı nokta mantıklı değil. Package.json dosyasında sürüm numaraları vardır ve bu dosyanın npm yüklemesi oluştuğunda paketleri oluşturmak için kullanılan dosya olduğunu varsayıyorum, kaldırdığımda npm yüklemesi aşağıdaki gibi şikayet ediyor:
jason@localhost:introcart_wagtail$ rm package.json
jason@localhost:introcart_wagtail$ npm install
npm WARN saveError ENOENT: no such file or directory, open '/home/jason/webapps/introcart_devtools/introcart_wagtail/package.json'
ancak yapı başarısız olur, ancak node_modules yüklenirken veya js / css oluşturmak için npm uygulanırken package-lock.json kaldırılırsa herhangi bir şikayet yapılmaz
jason@localhost:introcart_wagtail$ rm package-lock.json
jason@localhost:introcart_wagtail$ npm run dev
> introcart@1.0.0 dev /home/jason/webapps/introcart_devtools/introcart_wagtail
> NODE_ENV=development webpack --progress --colors --watch --mode=development
10% building 0/1 modules 1 active ...
git log
başa çıkmayı kolaylaştırır.