DEV Community

Cover image for Menghindari import bersarang
Sulton
Sulton

Posted on • Edited on

2 2

Menghindari import bersarang

Mengimpor file akan menjadi sangat menyakitkan ketika basis kode Anda tumbuh dan menghasilkan file bersarang.
Perhatikan struktur direktori berikut:

app/
   components/
     Alert.js
     Button.js
   screens/
     Home.js
     About.js
Enter fullscreen mode Exit fullscreen mode

Dengan struktur direktori tersebut, katakanlah Anda ingin mengimpor komponen Button atau Alert, misal: import Button from ../../components/Button, ketika lokasi file berubah kita perlu memperbarui pathnya, kalau tidak tentu pasti akan menghasilkan error.

Menggunakan absolute import

Ada solusi untuk mengatasi ini, yaitu dengan menggunakan absolute import. Selain dapat menghindari error saat lokasi file berubah, penggunaan absolute import juga akan membuat kode menjadi lebih bersih dan tidak rumit.

Pertama, dengan mengkonfigurasi file jsconfig.json di root proyek

{
   "compilerOptions": {
      "baseUrl": "app",
   },
   "include" : [ "app" ] 
}
Enter fullscreen mode Exit fullscreen mode

Disini Anda perlu mengatur baseUrl ke direktori root yang diperlukan sebagai basis impor sehingga Anda dapat mengimpor komponen dengan jalur absolut. Sekarang, ketika ingin mengimpor komponen cukup dengan cara: import Button from components/Button.

Kedua, menambah file package.json ke direktori komponen

app/
   components/
     Alert.js
     Button.js
     packages.json
   screens/
     Home.js
     About.js
Enter fullscreen mode Exit fullscreen mode

Anda dapat memanfaatkan package.json dengan menambah property name yang nantinya ini akan digunakan sebagai home directory saat import komponen

{
   "name": "components"
}
Enter fullscreen mode Exit fullscreen mode

Sekarang, ketika ingin mengimpor komponen cukup dengan cara: import Button from components/Button.

Kesimpulan

Dengan memanfaatkan absolute import selain dapat menghindari error saat lokasi file berubah, juga akan membuat kode menjadi lebih bersih. Karena ketika lokasi file berubah Anda tidak perlu memperbarui pathnya, dan saat anda melakukan import file anda tidak perlu mengetahui hirarki file berbeda jika Anda menggunakan relative path.

Reference: https://create-react-app.dev/docs/importing-a-component#absolute-imports

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay