首頁 > web前端 > js教程 > 為什麼我在 Node.js 中收到「語法錯誤:無法在模組外使用 import 語句」?

為什麼我在 Node.js 中收到「語法錯誤:無法在模組外使用 import 語句」?

DDD
發布: 2024-12-05 03:30:13
原創
455 人瀏覽過

Why Am I Getting a

「SyntaxError: Cannot use import statements Outside a module」解釋與解決

在錯誤Node.js 專案中,錯誤「Synx在模組外部使用import 語句」表示在未被識別為ES模組的檔案中使用了 import 語句。升級到較新版本的 Babel 或 Node.js 時,通常會出現此問題。

了解問題

在 Babel 7 中,預設行為是使用以下命令解釋檔案.js 副檔名作為 CommonJS 模組。另一方面,ES 模組需要在最近的 package.json 檔案中將“type”欄位設為“module”,或使用 .mjs 副檔名進行明確命名。

解決錯誤

有兩個選項可以解決此錯誤:

選項1:將“type”設為“module”在package.json

將以下「type」欄位加入到您的package.json 檔案中:

// package.json
{
  "type": "module"
}
登入後複製

這會將所有 .js 和 .mjs 檔案解釋為 ES 模組,而單一檔案仍可透過使用 .cjs 副檔名被解釋為 CommonJS。

選項 2:明確使用.mjs 副檔名

明確命名應視為具有 .mjs 副檔名的 ES 模組的檔案。預設情況下,所有其他帶有 .js 副檔名的檔案將被解釋為 CommonJS。

其他注意事項

  • 確保您安裝了最新版本的 Node.js (建議13.2.0)。
  • 如果您之前使用過Babel 6,則需要更新預設以避免進一步的錯誤。
  • 在整個專案中一致使用 ES 模組或 CommonJS 模組以保持相容性非常重要。

以上是為什麼我在 Node.js 中收到「語法錯誤:無法在模組外使用 import 語句」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板