Bilang isang developer, malamang na tumakbo ka sa folder na `node_modules` sa iyong mga proyekto. Ito ay isang mahalagang bahagi ng JavaScript at TypeScript na mundo, partikular sa mga proyektong gumagamit ng Node.js. Ang `node_modules` na ito ay parang DNA para sa iyong proyekto, kasama ang lahat ng mga library o dependency na kailangan ng iyong code upang maisagawa nang tama. Ang isyu ay ang folder na ito ay maaaring mabilis na lumaki sa laki, na ginagawang mabigat ang iyong proyekto, lalo na sa mga tuntunin ng mga version control system. Dagdag pa, maaaring magkaroon ng napakaraming salungatan sa pag-bersyon kung hindi mahawakan nang tama.
Ang isang mahusay na paraan upang harapin ang problemang ito ay sa pamamagitan ng hindi pagpansin sa `node_modules` sa iyong proyekto. Karamihan sa mga version control system ay nag-aalok ng mga mekanismo upang ibukod ang mga tinukoy na file o direktoryo. Sa Git, halimbawa, maaari itong gawin sa pamamagitan ng paggamit ng `.gitignore` file. Tinutukoy ng file na ito ang parehong mga pattern ng file at direktoryo na dapat balewalain ng Git, pinapanatiling malinis at mas maliit ang iyong proyekto.
Ngayon, magpatuloy tayo sa isang hakbang-hakbang na walkthrough ng solusyon upang maunawaan ito sa mas malalim na antas.
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.
Pag-unawa .gitignore
Ang `.gitignore` file ay isang mahusay na tool para sa mga developer na gumagamit ng Git bilang kanilang version control system. Ito ay simple, ngunit sopistikado. Ang mga pattern sa file na ito ay itinugma laban sa mga file at direktoryo sa iyong repository, at ang mga tumutugma, ay hindi pinapansin ng Git. Ibig sabihin, hindi susubaybayan ng Git ang kanilang mga pagbabago, at hindi isasama ang mga ito sa iyong mga commit, pushing, o pulling actions.
- Ang bawat linya sa `.gitignore` ay tumutukoy ng pattern. Halimbawa, babalewalain ng `*.tmp` ang lahat ng .tmp file.
- Ang mga linyang nagsisimula sa `#` ay mga komento at walang epekto.
- Ang mga pangalan ng direktoryo ay nagtatapos sa isang `/`, tulad ng `node_modules/`.
- Tinatanggal ng pattern na nagsisimula sa `!` ang pattern, na ginagawang hindi balewalain ng Git ang mga katugmang file.
npm at package.json
Pagdating sa pamamahala ng mga dependency ng JavaScript, mahalagang huwag pansinin ang kahalagahan ng `package.json`. Ang JSON file na ito ay nagtataglay ng iba't ibang metadata tungkol sa iyong proyekto, kasama ang listahan ng mga dependency nito at ang kani-kanilang mga bersyon.
- Ang `dependencies` key sa iyong `package.json` ay tumutukoy sa mga package na kinakailangan para tumakbo ang iyong application.
- Tinutukoy ng key na `devDependencies` ang mga package na kailangan lang para sa pagbuo ng iyong application, tulad ng mga testing library.
Sa simpleng pagpapatakbo lang ng `npm install`, kinukuha ng npm ang lahat ng package na binanggit sa `package.json` at ini-install ang mga ito sa loob ng direktoryo ng `node_modules`. Kaya, kahit na balewalain namin ang direktoryo ng `node_modules` sa aming version control system, palagi naming makukuha ang mga dependency ng aming proyekto mula sa `package.json` file.