Ini adalah batasan khusus yang ditambahkan oleh pengembang aplikasi create-react-app. Ini diterapkan ModuleScopePluginuntuk memastikan file berada src/. Plugin itu memastikan bahwa impor relatif dari direktori sumber aplikasi tidak mencapai di luarnya.
Anda dapat menonaktifkan fitur ini tetapi hanya setelah ejectoperasi proyek create-react-app.
Sebagian besar fitur dan pembaruannya disembunyikan di bagian dalam sistem create-react-app. Jika Anda membuatnya, ejectAnda tidak akan lagi memiliki beberapa fitur dan pembaruannya. Jadi jika Anda belum siap untuk mengelola dan mengkonfigurasi aplikasi yang disertakan untuk mengkonfigurasi webpack dan sebagainya - jangan lakukan ejectoperasi.
Mainkan dengan aturan yang ada (pindahkan ke src). Tapi sekarang Anda bisa tahu cara menghapus pembatasan: lakukan ejectdan hapus ModuleScopePlugindari file konfigurasi webpack .
Sejak membuat-bereaksi-aplikasi v0.4.0 yang NODE_PATHvariabel lingkungan memungkinkan untuk menentukan path untuk impor mutlak. Dan sejak v3.0.0 NODE_PATH tidak digunakan lagi karena pengaturan baseUrlpada jsconfig.jsonatau tsconfig.json.
Impor absolut memungkinkan penggunaan import App from 'App'alih - alih import App from './App'relatif terhadap nilai yang ditentukan dalam url basis.
Fitur ini secara khusus berguna untuk monorepos atau pertanyaan konfigurasi lain tetapi tidak untuk mengimpor gambar atau apa pun dari publicfolder.
Isi dari public folder akan ditempatkan di buildfolder dan tersedia dengan url relatif. Juga, semua yang diimpor akan diproses oleh webpack dan akan ditempatkan juga di buildfolder.
Jika Anda mengimpor sesuatu dari public folder mungkin benda itu akan diduplikasi dalam buildfolder dan akan tersedia oleh dua url yang berbeda (atau dengan berbagai cara memuat), yang pada akhirnya memperburuk ukuran unduhan paket.
Mengimpor dari folder src lebih disukai dan memiliki kelebihan. Semuanya akan dikemas oleh webpack ke bundel dengan potongan ukuran optimal dan untuk efisiensi pemuatan terbaik .
Ada solusi perantara, yaitu sistem rewire yang memungkinkan Anda untuk memodifikasi konfigurasi webpack secara terprogram. Tapi menghapus yang ModuleScopePluginPlugin tidak baik sebuah solusi; lebih baik menambahkan direktori tambahan yang berfungsi penuh seperti src.
Saat ini, create-react-apptidak mendukung direktori tambahan selain srcdi folder root. Ini dapat dilakukan dengan menggunakan react-app-rewire-alias
../public/images/logo_2016.pngAnda naik dua kali, pertama keluar dari folder komponen, lalu keluar dari folder src.