Apakah package.json seharusnya diedit secara manual? Tidak bisakah program seperti npm hanya melihat melalui file, melihat pernyataan "memerlukan", dan kemudian menggunakannya untuk meletakkan entri yang diperlukan dalam file package.json? Apakah ada program seperti itu?
412
npm link
Jawaban:
File package.json digunakan oleh npm untuk mempelajari tentang proyek node.js Anda.
Gunakan
npm init
untuk menghasilkan file package.json untuk Anda!Muncul dibundel dengan npm. Baca dokumentasinya di sini: https://docs.npmjs.com/cli/init
Juga, ada alat resmi yang dapat Anda gunakan untuk membuat file ini secara terprogram: https://github.com/npm/init-package-json
sumber
npm init
hanya apa yang saya cari! Juga setelah itu saya biasanya menjalankannpm shrinkwrap
untuk membuatnpm-shrinkwrap.json
filenpm init
: Gunakannpm install <pkg> --save
sesudahnya untuk menginstal paket dan menyimpannya sebagai dependensi dalam file package.json.npm init
di Package Manager Console dari Visual Studio 2015, itu hanya menampilkan[...] Press ^C at any time to quit.
dan berhenti tanpa meminta apa pun atau membuat file json. Apakah saya melewatkan sesuatu?npm init --force --yes
adalahPertama, lari
... akan menanyakan beberapa pertanyaan ( baca ini dulu ) tentang proyek / paket Anda dan kemudian buat file package.json untuk Anda.
Kemudian, setelah Anda memiliki file package.json, gunakan
atau
... untuk menginstal ketergantungan dan secara otomatis menambahkan ke Anda
package.json
'sdependencies
daftar.(Catatan: Anda mungkin perlu mengubah rentang versi secara manual untuk dependensi Anda.)
sumber
package.json
, biasanya ditangani secara otomatis.--save
tidak lagi diperlukan dalam versi npm yang lebih baruSaya baru saja menulis skrip sederhana untuk mengumpulkan dependensi di ./node_modules. Itu memenuhi kebutuhan saya saat ini. Ini mungkin membantu beberapa orang lain, saya mempostingnya di sini.
Dalam kasus saya, skrip di atas menghasilkan:
Sekarang, Anda dapat menyalin & menempelkannya. Selamat bersenang-senang!
sumber
npm ls --depth=0
akan mencetak kurang lebih sama (tidak yakin apakah itu yang terjadi pada 2012)a
, dan paketa
kebutuhan paketb
danc
, naskah ini akan menampilkan semua tingkatan, sehinggaa
,b
,c
yang tidak benar. Seharusnya hanya menampilkana
, sub-paket akan secara otomatis diselesaikan.npm init
untuk membuat file package.json dan kemudian Anda gunakan
ls node_modules/ | xargs npm install --save
untuk mengisi modul yang Anda miliki di folder node_modules.
Sunting: @paldepind menunjukkan bahwa perintah kedua berlebihan karena
npm init
sekarang secara otomatis menambahkan apa yang Anda miliki di node_modules / folder Anda. Saya tidak tahu apakah ini selalu terjadi, tetapi sekarang setidaknya, ia bekerja tanpa perintah kedua.sumber
npm init
secara otomatis menambahkan dependensi berdasarkan paket yang diinstal dan tidak perlu menjalankan perintah kedua.npm dedupe
, yang menarik dependensi yang dibagikan di antara modul Anda dari modul-modul itu dan menyimpannya di tingkat teratasnode_modules
direktori Anda . Tapi itu tidak menyentuhpackage.json
! Dengan ini, Anda dapat mengkomit dan membagikan setup deduplicated Anda.Baris perintah :
akan membuat file package.json
Untuk menginstal, memperbarui dan menghapus instalasi paket di bawah dependensi ke file package.json:
Baris perintah :
akan secara otomatis menambahkan versi terbaru untuk paket di bawah dependensi ke dalam file package.json
EX:
Baris perintah :
juga akan secara otomatis menambahkan versi terbaru untuk paket di bawah dependensi ke dalam file package.json
jika Anda memerlukan versi spesifik untuk suatu paket, gunakan baris perintah ini :
akan secara otomatis menambahkan versi spesifik paket di bawah dependensi ke dalam file package.json
EX:
jika Anda memerlukan rentang versi tertentu untuk suatu paket, gunakan baris perintah ini :
akan secara otomatis menambahkan versi terbaru untuk paket antara rentang versi di bawah dependensi ke dalam file package.json
EX:
Untuk detail lebih lanjut tentang cara menulis versi untuk paket npm Doc
Baris perintah :
akan memperbarui paket ke file package.json dan secara otomatis akan menambahkan versi yang diperbarui untuk semua paket di bawah dependensi ke dalam file package.json
Baris perintah :
akan secara otomatis menghapus paket dari dependensi ke file package.json dan menghapus paket dari folder node_module
sumber
Menjalankan
npm init -y
membuat Andapackage.json
dengan semua default.Anda kemudian dapat mengubah
package.json
sesuaiini menghemat waktu banyak kali dengan mencegah menekan
enter
pada setiap perintah dalamnpm init
sumber
Sekarang Anda dapat menggunakan Yeoman - Alat Perancah Aplikasi Web Modern pada terminal simpul menggunakan 3 langkah mudah.
Pertama, Anda harus menginstal yo dan alat lain yang diperlukan:
Untuk merancah aplikasi web, instal generator-webapp generator:
Jalankan yo dan ... Anda semua selesai:
Yeoman dapat menulis kode boilerplate untuk seluruh aplikasi web Anda atau Pengontrol dan Model. Ini dapat menjalankan server web pratinjau langsung untuk diedit dan dikompilasi; tidak hanya itu Anda juga dapat menjalankan tes unit Anda, meminimalkan dan menggabungkan kode Anda, mengoptimalkan gambar, dan banyak lagi ...
Yeoman (yo) - alat perancah yang menawarkan ekosistem kerangka kerja khusus, yang disebut generator, yang dapat digunakan untuk melakukan beberapa tugas membosankan yang disebutkan sebelumnya.
Grunt / tegukan - digunakan untuk membangun, melihat pratinjau, dan menguji proyek Anda.
Bower - digunakan untuk manajemen dependensi, sehingga Anda tidak perlu lagi mengunduh perpustakaan front-end Anda secara manual.
sumber
Berdasarkan jawaban Pylinux, di bawah ini adalah solusi untuk OS Windows,
Semoga ini bisa membantu.
sumber
gunakan perintah npm init -f untuk menghasilkan file package.json dan setelah itu gunakan --simpan setelah setiap perintah sehingga setiap modul secara otomatis akan diperbarui di dalam package.json Anda misalnya: npm install express --save
sumber
1. Pilihan
Jika Anda pengguna git dan GitHub:
generate-package
lebih sederhana, daripadanpm init
.lain
dan / atau Anda tidak suka
package.json
template, yang menghasilkan paket ataunpm init
menghasilkan:Anda dapat membuat templat sendiri melalui aplikasi perancah seperti menghasilkan , layar atau yeoman .
2. Relevansi
Jawaban ini relevan untuk Maret 2018. Di masa mendatang, data dari jawaban ini mungkin sudah usang.
Penulis jawaban ini secara pribadi menggunakan paket-menghasilkan pada Maret 2018.
3. Keterbatasan
Anda perlu menggunakan git dan GitHub untuk menggunakan paket-generate.
4. Demonstrasi
Sebagai contoh, saya membuat folder kosong
sasha-npm-init-vs-generate-package
.4.1. menghasilkan-paket
Perintah:
package.json
:4.2. npm init
Saya pikir, itu
generate-package
lebih sederhana, itunpm init
.5. Menyesuaikan
Itu membuat
package.json
template Anda sendiri , lihat menghasilkan dan contoh yeoman .sumber