Bagaimana Mengatasi Kesalahan “kesalahan referensi tidak ditentukan”?

Bagaimana Mengatasi Kesalahan Kesalahan Referensi Tidak Ditentukan



Node.js tidak ada apa-apanya, keberadaannya bergantung pada modul dan metode yang disediakan oleh setiap modul. Untuk bekerja dengan modul ini, pengembang harus menginstalnya terlebih dahulu dan kemudian mengimpornya ke dalam file yang sedang berfungsi. Untuk mengimpor modul ada dua cara yang secara khusus dihubungkan dengan versi JavaScript yang sedang digunakan pengembang atau yang ingin dibuat oleh pemilik aplikasi. Saat mengimpor ada kemungkinan menghadapi banyak kesalahan dan satu kesalahan populer dan paling umum terkait dengan “ memerlukan() Metode ” sedang dijelaskan dan diselesaikan.

Panduan ini menjelaskan prosedur untuk mengatasi kesalahan “ReferenceError: require is not didefinisikan”.

Bagaimana Mengatasi Kesalahan “ReferenceError: require tidak ditentukan”?

Untuk mengimpor modul eksternal atau built-in dalam proyek, dua pendekatan digunakan, yaitu menggunakan “ memerlukan() ” metode atau “ impor ” kata kunci. Yang disebutkan “ Kesalahan Referensi: persyaratan tidak ditentukan ” dihadapi ketika pengguna mencoba menggunakan “ memerlukan() ” metode di dalam “ modul ES ” ruang lingkup. Kesalahan yang dibahas muncul seperti ini di konsol di node.js ketika kode di bawah ini dijalankan:









Alasan terjadinya kesalahan “Resolve “ReferenceError: require is not didefinisikan” dan solusi terkait dijelaskan di bagian di bawah ini.



Alasan 1: Jenis Aplikasi Diatur ke Modul

Jika aplikasi Anda menampilkan kesalahan yang disebutkan, solusi termudah dan paling lama adalah modifikasi “ paket.json ” mengajukan. Cari pasangan kunci/nilai yang memiliki “ kunci ' dari ' jenis ” dan nilai yang ditetapkan sebesar “ modul ”. Hal ini membuat lingkungan seluruh aplikasi menjadi modular, sehingga mencegah penggunaan aplikasi lama. JS Umum ” modul dan metode. Representasi visual dari pasangan kunci/nilai ini tampak seperti ini:





'jenis' : 'modul' ,

Solusi: Hapus Kunci “Jenis”.

Solusinya adalah penghapusan “ jenis ” kunci dan nilai yang ditetapkan dari proyek node.js “ paket.json ” mengajukan. Penghapusan dari file “package.json” mengeksploitasi cakupan modul ES6 dan membuat metode “require() bisa diterapkan. Sekarang, ketika kode yang sama dijalankan kembali tidak akan terjadi kesalahan.



Alasan 2: Bekerja di “.mjs Mengajukan

.mjs ” adalah file kode sumber Modul JavaScript. Ini berisi kode di dalam lingkungan modul bukan di “ JS Umum ” yang membagi kode menjadi beberapa file untuk pengelolaan yang lebih baik. “ memerlukan() ” metodenya terletak di bawah “ JS Umum ”. Itu sebabnya metode 'memerlukan' akan menjadi tidak terdefinisi ketika digunakan di dalam ' .mjs ” ekstensi file dan menyebabkan terjadinya kesalahan yang disebutkan:

Solusi: Ubah Ekstensi File menjadi “.cjs”

Sama seperti kode sumber JavaScript modular, ekstensi file “ .mjs ' tersedia. Perpanjangan “ .cjs ” disediakan untuk “ JS Umum ” modul dan properti. File ini tidak menerima “ modular ” paket seperti “ impor ” tetapi berfungsi baik dengan versi ES5. Dalam kasus kami, mengubah ekstensi file akan menyelesaikan masalah yang terkait dengan “ memerlukan() ' metode:

Pendekatan Alternatif: Gunakan Pernyataan ES6 “impor/ekspor”

memerlukan() ” Metode ditentukan dan disediakan oleh “ UmumJs ” dan dapat diterima hingga versi JavaScript ES5 (ECMAScript 5). Ini diterbitkan pada tahun 2009 dan sekarang sudah usang karena banyak modul terbaru tidak mendukungnya atau tidak berfungsi dengan baik di ES5. Sama seperti “ memerlukan() ”metode kini digantikan dengan yang lebih optimal dan mudah” impor ” pernyataan. Cara kerja kedua entitas ini sama tetapi “impor” memiliki keunggulan karena teknologi terkini dan lebih banyak kemudahan yang diberikan olehnya.

Untuk Modul Default atau Eksternal

Dalam demonstrasi di bawah ini, pernyataan “import” digunakan sebagai alternatif metode “require()” untuk mengimpor modul default atau modul pihak ketiga:

impor garis bacaObj dari 'baris baca' ;

menghibur. catatan ( garis bacaObj ) ;

Setelah kompilasi kode yang disebutkan, tugas yang sama harus dilakukan oleh “ memerlukan() ” metode dilakukan dan “ Kesalahan Referensi: persyaratan tidak ditentukan ” tidak akan muncul juga:

Untuk Modul yang Dibuat Khusus

impor Pernyataan ” juga digunakan untuk “mengimpor” modul atau fungsi yang dibuat khusus dari file lain yang berada di direktori yang sama atau berbeda. Fungsi atau variabel dari file lain diekspor menggunakan “ ekspor ” kata kunci. Misalnya, kunjungi cuplikan kode di bawah ini di mana satu fungsi dan variabel acak akan diimpor dari file lain:

aplikasi.js

konstanta eksporVariabel = 'Panduan Ini Disediakan oleh Linuxhint!' ;

konstanta fungsi ekspor = ( ) => {

menghibur. catatan ( eksporVariabel ) ;

} ;

ekspor bawaan fungsi ekspor ;

ekspor {

eksporVariabel

} ;

Penjelasan dari blok kode di atas adalah sebagai berikut:

  • Pertama, variabel acak bernama “ eksporVariabel ” didefinisikan dan fungsi panah “ fungsi ekspor() ” dibuat yang mencetak “exportVariable” yang dibuat melalui konsol.
  • Kata kunci dari “ ekspor bawaan ' Dan ' ekspor ” digunakan untuk mengekspor “ fungsi ekspor() ' Dan ' eksporVariabel ” entitas dari file.
  • Ketika file ini diimpor, fungsi dan variabel yang diekspor tersedia untuk digunakan di sana.

indeks.js

'Index.js' adalah file sekunder tempat fungsi dan variabel yang diekspor akan diimpor dan digunakan, berisi kode yang disebutkan di bawah ini:

impor fungsi ekspor, { eksporVariabel } dari './app.js' ;

fungsi ekspor ( ) ;

menghibur. catatan ( eksporVariabel ) ;

Dalam kode di atas, “ impor ” pernyataan digunakan untuk mengimpor default “ fungsi ekspor() ” dan variabel “ eksporVariabel ' dari ' aplikasi.js ” mengajukan.

Kemudian, kedua entitas yang diimpor dipanggil dan ditampilkan melalui konsol untuk tujuan verifikasi.

Sekarang, jalankan perintah utama “ indeks.js ” file menggunakan perintah di bawah ini:

indeks simpul. js

Output yang dihasilkan menunjukkan bahwa elemen yang diimpor berfungsi dengan benar tanpa menyebabkan pesan “ Kesalahan Referensi: persyaratan tidak ditentukan ”kesalahan:

Itu semua tentang menyelesaikan kesalahan yang ditentukan.

Kesimpulan

Untuk mengatasi “ Kesalahan Referensi: persyaratan tidak ditentukan ” kesalahan, hapus “ jenis ” kunci memiliki nilai “ modul ' dari ' paket.json ” atau ubah ekstensi file yang sedang berfungsi menjadi “ .cjs ”. Jika Anda ingin bekerja dalam versi modular ES6 maka alih-alih menggunakan “ memerlukan() ” metode menggunakan “ impor pendekatan pernyataan. Panduan ini telah menjelaskan kemungkinan perbaikan untuk mengatasi “ Kesalahan Referensi: persyaratan tidak ditentukan 'kesalahan' di node.js