Rumah > hujung hadapan web > tutorial js > Mengapa Saya Mendapat 'SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul' dalam Node.js?

Mengapa Saya Mendapat 'SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul' dalam Node.js?

DDD
Lepaskan: 2024-12-05 03:30:13
asal
456 orang telah melayarinya

Why Am I Getting a

"SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul" Diterangkan dan Diselesaikan

Dalam projek Node.js, ralat "SyntaxError: Tidak boleh gunakan pernyataan import di luar modul" menunjukkan bahawa pernyataan import sedang digunakan dalam fail yang tidak dikenali sebagai modul ES. Isu ini biasanya timbul apabila menaik taraf kepada versi Babel atau Node.js yang lebih baharu.

Memahami Isu

Dalam Babel 7, tingkah laku lalai adalah untuk mentafsir fail dengan sambungan .js sebagai modul CommonJS. Modul ES, sebaliknya, memerlukan medan "jenis" yang ditetapkan kepada "modul" dalam fail package.json terdekat atau penamaan eksplisit dengan sambungan .mjs.

Menyelesaikan Ralat

Terdapat dua pilihan untuk menyelesaikan ralat ini:

Pilihan 1: Tetapkan "jenis" kepada "modul" dalam package.json

Tambah medan "jenis" berikut pada fail package.json anda:

// package.json
{
  "type": "module"
}
Salin selepas log masuk

Ini akan mentafsir semua fail .js dan .mjs sebagai modul ES, manakala fail individu masih boleh ditafsirkan sebagai CommonJS dengan menggunakan .cjs sambungan.

Pilihan 2: Gunakan sambungan .mjs secara eksplisit

Namakan secara eksplisit fail yang harus dianggap sebagai modul ES dengan sambungan .mjs. Semua fail lain dengan sambungan .js akan ditafsirkan sebagai CommonJS secara lalai.

Pertimbangan Tambahan

  • Pastikan anda mempunyai versi terkini Node.js dipasang (13.2.0 disyorkan).
  • Jika anda sebelum ini menggunakan Babel 6, ia adalah perlu untuk mengemas kini pratetap untuk mengelakkan ralat selanjutnya.
  • Adalah penting untuk menggunakan modul ES atau modul CommonJS secara konsisten sepanjang projek untuk mengekalkan keserasian.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul' dalam Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan