理解ES6 中的「意外令牌匯出」錯誤
嘗試在專案中使用ES6 程式碼時,您可能會遇到「意外令牌匯出」錯誤。出現此錯誤的原因是您的環境的 JavaScript 支援與 ES6 語法不相容。
意外令牌導出的原因
ES6 引入了 EcmaScript 模組 (ESM) 的概念,由匯出關鍵字表示。但是,不支援 ESM 的環境會將此語法解釋為意外標記。值得注意的是,舊版的 NodeJS(v14.13.0 之前)使用 CommonJS 模組,該模組採用 module.exports 屬性語法。即使在支援 ESM 的較新 NodeJS 版本中,也需要明確啟用它。
解決意外令牌導出的解決方案
有多種方法可以解決此問題:
-
在NodeJS v14 .13.0 或更高版本中啟用ESM: 若要啟動ESM 支持,請透過設定"type": "module" 來修改專案的package.json 檔案。
-
使用 CommonJS 模組語法重構:對於較舊的 NodeJS 版本,請使用 CommonJS 模組語法重寫程式碼。
-
將TypeScript 與ts-node/ts-node-dev 結合使用: 透過利用TypeScript 和ts-node 或ts-node-dev npm 套件,您可以將TypeScript 檔案轉換為與您的環境相容的JavaScript 程式碼。
-
使用 esbuild 將 ESM 轉換為 CommonJS: 使用 esbuild 套件將您的 ES6 程式碼轉換為 CommonJS JavaScript,確保與您的環境相容。 (注意:不再建議使用 babel。)
以上是ES6 中出現「Unexpected Token Export」錯誤的原因以及如何解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!