Sebagai pengembang, Anda mungkin menemukan folder `node_modules` di proyek Anda. Ini adalah bagian penting dari dunia JavaScript dan TypeScript, khususnya dalam proyek yang menggunakan Node.js. `Node_modules` ini seperti DNA untuk proyek Anda, termasuk semua perpustakaan atau dependensi yang dibutuhkan kode Anda agar dapat dieksekusi dengan benar. Masalahnya adalah ukuran folder ini dapat bertambah dengan cepat, menjadikan proyek Anda kelas berat, terutama dalam hal sistem kontrol versi. Selain itu, terdapat banyak sekali konflik versi jika tidak ditangani dengan benar.
Salah satu cara efisien untuk mengatasi masalah ini adalah dengan mengabaikan `node_modules` di proyek Anda. Kebanyakan sistem kontrol versi menawarkan mekanisme untuk mengecualikan file atau direktori tertentu. Di Git, misalnya, hal ini dapat dilakukan dengan menggunakan file `.gitignore`. File ini menentukan pola file dan direktori yang harus diabaikan oleh Git, menjaga proyek Anda tetap bersih dan jauh lebih kecil.
Sekarang, mari kita lanjutkan dengan panduan langkah demi langkah solusi untuk memahaminya lebih dalam.
1. First, you should make sure you are in the root directory of your project where the `node_modules` resides. You may use the following command: ```sh cd /path/to/your/project ``` 2. Next, all you've got to do is create a file named `.gitignore` in your project root, via a simple touch command: ```sh touch .gitignore ``` 3. Then, open the newly created `.gitignore` file in your preferred text editor: ```sh nano .gitignore ``` 4. Inside this file, simply add: `node_modules/`. This tells Git to ignore the `node_modules` directory.
Memahami .gitignore
File `.gitignore` adalah alat yang ampuh untuk pengembang yang menggunakan Git sebagai sistem kontrol versi mereka. Ini sederhana, namun canggih. Pola dalam file ini dicocokkan dengan file dan direktori di repositori Anda, dan pola yang cocok akan diabaikan oleh Git. Artinya, Git tidak akan melacak perubahannya, dan tidak akan memasukkannya ke dalam tindakan komitmen, dorongan, atau penarikan Anda.
- Setiap baris di `.gitignore` menentukan sebuah pola. Misalnya `*.tmp` akan mengabaikan semua file .tmp.
- Baris yang dimulai dengan `#` adalah komentar dan tidak berpengaruh sama sekali.
- Nama direktori diakhiri dengan `/`, seperti `node_modules/`.
- Pola yang dimulai dengan `!` meniadakan pola tersebut, membuat Git tidak mengabaikan file yang cocok.
npm dan paket.json
Ketika mengelola dependensi JavaScript, penting untuk tidak mengabaikan pentingnya `package.json`. File JSON ini menyimpan berbagai metadata tentang proyek Anda, termasuk daftar dependensinya dan versinya masing-masing.
- Kunci `dependencies` di `package.json` Anda menentukan paket yang diperlukan agar aplikasi Anda dapat berjalan.
- Kunci `devDependencies` menentukan paket yang diperlukan hanya untuk mengembangkan aplikasi Anda, seperti perpustakaan pengujian.
Hanya dengan menjalankan `npm install`, npm mengambil semua paket yang disebutkan dalam `package.json` dan menginstalnya di dalam direktori `node_modules`. Jadi, meskipun kita mengabaikan direktori `node_modules` di sistem kontrol versi, kita selalu dapat mengambil dependensi proyek dari file `package.json`.