Package.json dosyasının elle düzenlenmesi gerekiyor mu? Npm gibi bir program sadece dosyaları inceleyip, "zorunlu" ifadelerine bakın ve sonra package.json dosyasına gerekli girişleri koymak için bunu kullanamaz mı? Bunun gibi programlar var mı?
Package.json dosyasının elle düzenlenmesi gerekiyor mu? Npm gibi bir program sadece dosyaları inceleyip, "zorunlu" ifadelerine bakın ve sonra package.json dosyasına gerekli girişleri koymak için bunu kullanamaz mı? Bunun gibi programlar var mı?
Yanıtlar:
Package.json dosyası, node.js projeniz hakkında bilgi edinmek için npm tarafından kullanılır .
kullanım npm init
Sizin için package.json dosyaları oluşturmak için !
Npm ile birlikte geliyor. Belgelerini buradan okuyun: https://docs.npmjs.com/cli/init
Ayrıca, bu dosyayı programlı olarak oluşturmak için kullanabileceğiniz resmi bir araç vardır: https://github.com/npm/init-package-json
npm init
sadece aradığım şeydi! Ayrıca bundan sonra genellikle npm shrinkwrap
bir npm-shrinkwrap.json
dosya oluşturmaya
npm init
: npm install <pkg> --save
Daha sonra paketi yüklemek ve package.json dosyasına bağımlılık olarak kaydetmek için kullanın .
npm init
Visual Studio 2015'ten Paket Yöneticisi Konsolu'nda çalıştırıldıktan sonra , [...] Press ^C at any time to quit.
hiçbir şey sormadan veya json dosyası oluşturmadan görüntüler ve durur. Bir şey mi kaçırıyorum?
npm init --force --yes
bu dosyayı oluşturmak için tek astar
İlk önce, koş
npm init
... projeniz / paketiniz hakkında birkaç soru soracaktır ( önce bunu okuyun ) ve sonra sizin için bir package.json dosyası oluşturun.
Ardından, bir package.json dosyanız varsa, şunu kullanın:
npm install <pkg> --save
veya
npm install <pkg> --save-dev
... Bir bağımlılık yüklemek ve otomatik olarak bunu eklemek için package.json
'ın dependencies
listesinde.
(Not: Bağımlılıklarınız için sürüm aralıklarını manuel olarak değiştirmeniz gerekebilir.)
package.json
, genellikle otomatik olarak kullanılır.
--save
yeni npm sürümlerinde artık gerekli değil
Sadece ./node_modules içindeki bağımlılıkları toplamak için basit bir senaryo yazdım. Şu anda ihtiyacımı karşılıyor. Bu bazılarına yardımcı olabilir, buraya gönderirim.
var fs = require("fs");
function main() {
fs.readdir("./node_modules", function (err, dirs) {
if (err) {
console.log(err);
return;
}
dirs.forEach(function(dir){
if (dir.indexOf(".") !== 0) {
var packageJsonFile = "./node_modules/" + dir + "/package.json";
if (fs.existsSync(packageJsonFile)) {
fs.readFile(packageJsonFile, function (err, data) {
if (err) {
console.log(err);
}
else {
var json = JSON.parse(data);
console.log('"'+json.name+'": "' + json.version + '",');
}
});
}
}
});
});
}
main();
Benim durumumda, yukarıdaki komut dosyası çıktıları:
"colors": "0.6.0-1",
"commander": "1.0.5",
"htmlparser": "1.7.6",
"optimist": "0.3.5",
"progress": "0.1.0",
"request": "2.11.4",
"soupselect": "0.2.0", // Remember: remove the comma character in the last line.
Şimdi bunları kopyalayıp yapıştırabilirsiniz. İyi eğlenceler!
a
, ve paket a
paketlerini ihtiyaç b
ve c
tüm seviyeler, bu nedenle, bu yazı irade çıkışı a
, b
, c
hangi değil doğru. Sadece çıktı almalı a
, alt paketler otomatik olarak çözülecektir.
npm init
.json dosyasını oluşturmak için
ls node_modules/ | xargs npm install --save
node_modules klasöründe bulunan modülleri doldurmak için.
Düzenleme: @paldepind, npm init
artık otomatik olarak node_modules / klasörünüze eklediğiniz için ikinci komutun gereksiz olduğuna dikkat çekti . Bunun her zaman böyle olup olmadığını bilmiyorum, ama şimdi en azından ikinci komut olmadan çalışıyor.
npm init
Yüklü paketlere göre otomatik olarak bağımlılıklar eklediğini ve ikinci komutu çalıştırmaya gerek olmadığını buldum .
npm dedupe
modüller arasında paylaşılan bağımlılıkları bu modüllerden dışarı çeken ve bunları node_modules
dizininizin en üst düzeyinde depolayan, kullanıldığında fevkalade faydalıdır . Ama dokunmuyor package.json
! Bununla, tekilleştirilen kurulumunuzu taahhüt edebilir ve paylaşabilirsiniz.
Komut satırı :
npm init
package.json dosyası oluşturacak
Bağımlılıklar altındaki paketleri package.json dosyasına yüklemek, güncellemek ve kaldırmak için:
Komut satırı :
npm install <pkg>@* --save
otomatik olarak bağımlılıklar altındaki paketin en son sürümünü package.json dosyasına ekleyecektir
EX:
npm install node-markdown@* --save
Komut satırı :
npm install <pkg> --save
ayrıca bağımlılıklar altındaki paketin en son sürümünü otomatik olarak package.json dosyasına ekleyecektir
bir paket için belirli bir sürüme ihtiyacınız varsa bu Komut satırını kullanın :
npm install <pkg>@<version> --save
otomatik olarak bağımlılıklar altında paketin belirli bir sürümünü package.json dosyasına ekleyecektir
EX:
npm install koa-views@1.0.0 --save
bir paket için belirli bir sürüm aralığına ihtiyacınız varsa bu Komut satırını kullanın :
npm install <pkg>@<version range>
otomatik olarak paketin en son sürümünü bağımlılıklar altındaki sürüm aralığı arasında package.json dosyasına otomatik olarak ekler
EX:
npm install koa-views@">1.0.0 <1.2.0" --save
İçin paket için sürüm yazma konusunda daha fazla ayrıntı npm Doc
Komut satırı :
npm update --save
paketleri package.json dosyasına güncelleyecek ve bağımlılıklar altındaki tüm paketler için otomatik olarak package.json dosyasına güncellenmiş sürümü ekleyecektir
Komut satırı :
npm uninstall <pkg> --save
paketi bağımlılıklardan otomatik olarak package.json dosyasına kaldıracak ve paketi node_module klasöründen kaldıracak
Koşu tüm varsayılanlarla npm init -y
yapar package.json
.
Daha sonra package.json
buna göre
değiştirebilirsiniz.
Bu enter
, her komutun üzerine basılmasını önleyerek zamandan tasarruf sağlarnpm init
Artık Yeoman - Modern Web App İskele Aracını kullanabilirsiniz 3 terminali kullanarak düğüm terminalinde kullanabilirsiniz.
İlk olarak, yo ve diğer gerekli araçları yüklemeniz gerekir:
$ npm install -g yo bower grunt-cli gulp
Bir web uygulamasını iskele etmek için, jeneratör-webapp jeneratörünü kurun :
$ npm install -g generator-webapp // create scaffolding
Yo koş ve ... işiniz bitti:
$ yo webapp // create scaffolding
Yeoman, tüm web uygulamanız veya Denetleyiciler ve Modeller için kaynak kodu yazabilir. Düzenlemeler ve derleme için canlı önizleme web sunucusunu çalıştırabilir; sadece birim testlerinizi gerçekleştirebilir, kodunuzu en aza indirebilir ve birleştirebilir, görüntüleri optimize edebilir ve daha fazlasını yapabilirsiniz ...
Yeoman (yo) - daha önce bahsedilen sıkıcı görevlerin bazılarını gerçekleştirmek için kullanılabilen, jeneratörler olarak adlandırılan, çerçeveye özgü iskelelerin ekosistemini sunan iskele aracı.
Grunt / gulp - projenizi oluşturmak, önizlemek ve test etmek için kullanılır.
Bower - bağımlılık yönetimi için kullanılır, böylece artık ön uç kitaplıklarınızı manuel olarak indirmeniz gerekmez.
Pylinux'un cevabına dayanarak, aşağıda Windows işletim sistemi için bir çözüm,
dir node_modules > abc.txt
FOR /F %k in (abc.txt) DO npm install --save
Umarım yardımcı olur.
package.json dosyası oluşturmak için npm init -f komutunu kullanın ve bundan sonra - her komuttan sonra --save komutunu kullanın, böylece her modül otomatik olarak paketinizin içinde güncellenir. ex: npm install express --save için
Eğer siz git'e ve GitHub kullanıcı:
generate-package
daha basit npm init
.
Başka
ve / veya şu package.json
paketi npm init
oluşturan veya üreten şablonu beğenmezsiniz :
oluşturma , yelken veya yeoman gibi iskele uygulamaları aracılığıyla kendi şablonunuzu oluşturabilirsiniz .
Bu cevap Mart 2018 için geçerlidir. Gelecekte, bu cevaptan elde edilen veriler eski olabilir.
Bu cevabın yazarı Mart 2018'de kişisel olarak oluşturma paketi kullandı.
Oluşturma paketi kullanmak için git ve GitHub kullanmanız gerekir.
Örneğin, boş klasör oluşturuyorum sasha-npm-init-vs-generate-package
.
Komut:
D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package>gen package
[16:58:52] starting generate
[16:59:01] √ running tasks: [ 'package' ]
[16:59:04] starting package
? Project description? generate-package demo
? Author's name? Sasha Chernykh
? Author's URL? https://vk.com/hair_in_the_wind
[17:00:19] finished package √ 1m
package.json
:
{
"name": "sasha-npm-init-vs-generate-package",
"description": "generate-package demo",
"version": "0.1.0",
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package",
"author": "Sasha Chernykh (https://vk.com/hair_in_the_wind)",
"repository": "Kristinita/sasha-npm-init-vs-generate-package",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"license": "MIT",
"engines": {
"node": ">=4"
},
"scripts": {
"test": "mocha"
},
"keywords": [
"generate",
"init",
"npm",
"package",
"sasha",
"vs"
]
}
D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (sasha-npm-init-vs-generate-package)
version: (1.0.0) 0.1.0
description: npm init demo
entry point: (index.js)
test command: mocha
git repository: https://github.com/Kristinita/sasha-npm-init-vs-generate-package
keywords: generate, package, npm, package, sasha, vs
author: Sasha Chernykh
license: (ISC) MIT
About to write to D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package\package.json:
{
"name": "sasha-npm-init-vs-generate-package",
"version": "0.1.0",
"description": "npm init demo",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Kristinita/sasha-npm-init-vs-generate-package.git"
},
"keywords": [
"generate",
"package",
"npm",
"package",
"sasha",
"vs"
],
"author": "Sasha Chernykh",
"license": "MIT",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package#readme"
}
Is this ok? (yes) y
{
"name": "sasha-npm-init-vs-generate-package",
"version": "0.1.0",
"description": "npm init demo",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Kristinita/sasha-npm-init-vs-generate-package.git"
},
"keywords": [
"generate",
"package",
"npm",
"package",
"sasha",
"vs"
],
"author": "Sasha Chernykh",
"license": "MIT",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package#readme"
}
Bence, generate-package
daha basit, bu npm init
.
Bu kendi package.json
şablonunuzu oluşturun , bakınız oluşturma ve yeoman örnekleri.
npm link