Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Membetulkan 'SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul' dalam Node.js?

Bagaimana untuk Membetulkan 'SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul' dalam Node.js?

Patricia Arquette
Patricia Arquetteasal
2024-12-05 03:47:09819semak imbas

How to Fix

Menyelesaikan "SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul" dalam Node.js

Ralat "SyntaxError: Tidak boleh menggunakan pernyataan import di luar modul" berlaku apabila menggunakan sintaks modul ECMAScript (ES) dalam konteks bukan modul. Begini cara untuk menyelesaikan isu:

Sahkan Versi Node.js:

Pastikan anda memasang Node.js versi 13.2.0 atau lebih tinggi. Versi terdahulu tidak menyokong sintaks modul ES secara asli.

Konfigurasikan Jenis Modul:

Anda mempunyai dua pilihan untuk mengkonfigurasi jenis modul:

  • Pilihan 1: Package.json: Tambahkan medan "jenis": "modul" peringkat atas ke fail pakej induk.json terdekat. Ini mengarahkan Node.js untuk merawat semua fail .js dan .mjs dalam direktori itu dan subdirektorinya sebagai modul.
// package.json
{
  "type": "module"
}
  • Pilihan 2: Sambungan Fail: Namakan secara eksplisit fail yang harus ditafsirkan sebagai modul menggunakan sambungan .mjs. Secara lalai, fail .js ditafsirkan sebagai modul CommonJS.

Isu Potensi Lain:

  • Konfigurasi Babel: Semak bahawa konfigurasi Babel anda betul. Jika anda menggunakan versi atau pratetap lapuk, ia mungkin tidak serasi dengan sintaks modul ES.
  • Pemalam/Pratetap: Sahkan bahawa pemalam dan pratetap Babel anda tidak mengeksport objek secara langsung. Ia sepatutnya dieksport sebagai fungsi sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan '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!

Kenyataan:
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