"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
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!