


Mengapa Saya Mendapat 'SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul' dalam Node.js?
Dec 05, 2024 am 03:30 AM"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" }
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

Tutorial Persediaan API Carian Google Custom

HTTP Debugging dengan Node dan HTTP-Console
