Saya menggunakan modul node_swiz, yang pada gilirannya menggunakan modul validator.
Saya ingin membuat perubahan pada modul validator, tetapi saya menggunakan npm install untuk menginstal modul / dependensi.
Bisakah saya membuat perubahan pada modul validator di dalam node_modules, atau apakah dependensi node_modules itu akan dibuat ulang dan versi terbaru didapat ketika saya menerbitkan ke heroku atau saat saya menjalankan npm install?
Strukturnya terlihat seperti ini:
myNodeApplication
- node_modules
- swiz
- node_modules
- validator [this is the library I want to edit]
Terima kasih untuk bantuannya!
/node_modules
dan menjalankannyanpm install
maka semuanya baik-baik saja!Anda dapat menggunakan patch-package untuk membuat dan mempertahankan perubahan pada modul node.
Ini dapat dilakukan dengan terlebih dahulu membuat perubahan pada paket di dalamnya
node_modules
dan kemudian menjalankan perintah berikut, dengan<package name>
menjadi nama paket yang baru saja Anda ubah.patch-package kemudian akan membuat
patches
folder dengan file di dalamnya, mewakili perubahan Anda. File ini kemudian dapat dikomit ke git, dan tambalan dapat dipulihkan nanti dengan menjalankannpx patch-package
(tanpa argumen apa pun).Langkah opsional:
Tambahkan yang berikut ini di bagian skrip package.json Anda untuk secara otomatis menambal ketergantungan saat Anda menjalankan "npm install".
sumber
Saya tidak ingin menerbitkan modul baru dan saya juga tidak ingin
npm install
menimpa perubahan saya. Saya menemukan solusi untuk kedua masalah ini, tetapi mungkin akan lebih baik untuk menerima saran @ Sdedelbrock. Tetapi jika Anda ingin melakukannya, berikut caranya:package.json
file Anda untuk menghapus ketergantungan yang ingin Anda edit./node_modules
dan pindahkan folder ke tempat lain di repositori Anda yang dapat dikomit. Jadi sekarang/node_modules/dependency
di/dependency
cd
ke dalam direktori dependensi dan ketiknpm link
cd
ke root direktori proyek Anda dan ketiknpm link dependency
Penting bahwa Anda melakukan ini di luar/node_modules
dan/dependency
Jika semuanya berhasil, Anda sekarang memiliki symlink yang telah dibuat di
/node_modules/dependency
. Sekarang Anda dapat menjalankan proyek Anda untuk melihat apakah berhasil.sumber