簡體   English   中英

錯誤 [ERR_REQUIRE_ESM]: ES 模塊的 require()... 不支持

[英]Error [ERR_REQUIRE_ESM]: require() of ES Module ... not supported

我正在使用discord.jsTypeScript中制作 discord 機器人。 當我今天早上嘗試編譯代碼時,我收到了這個錯誤:

C:\SECRET\Kostegator\dist\Util\getMeme.js:17
const node_fetch_1 = __importDefault(require("node-fetch"));
                                     ^

Error [ERR_REQUIRE_ESM]: require() of ES Module C:\SECRET\Kostegator\node_modules\node-fetch\src\index.js from C:\SECRET\Kostegator\dist\Util\getMeme.js not supported.
Instead change the require of index.js in C:\SECRET\Kostegator\dist\Util\getMeme.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (C:\SECRET\Kostegator\dist\Util\getMeme.js:17:38)
    at Object.<anonymous> (C:\SECRET\Kostegator\dist\Util\index.js:15:14)
    at Object.<anonymous> (C:\SECRET\Kostegator\dist\Commands\BotOwner\startAutoUpdate.js:4:16)
    at C:\SECRET\Kostegator\dist\Client\index.js:61:41
    at Array.forEach (<anonymous>)
    at ExtendedClient.<anonymous> (C:\SECRET\Kostegator\dist\Client\index.js:58:48)        
    at Generator.next (<anonymous>)
    at C:\SECRET\Kostegator\dist\Client\index.js:27:71
    at new Promise (<anonymous>)
    at __awaiter (C:\SECRET\Kostegator\dist\Client\index.js:23:12)
    at ExtendedClient.init (C:\SECRET\Kostegator\dist\Client\index.js:51:16)
    at Object.<anonymous> (C:\SECRET\Kostegator\dist\index.js:19:4) {
  code: 'ERR_REQUIRE_ESM'
}

這是 GitHub 存儲庫: Kostegator

當前版本的node-fetch僅與 ESM 導入(使用import )兼容,而不與使用require()的 CommonJS 模塊兼容。

您有以下選擇需要修復:

  1. 將您的項目切換到 ESM 模塊並使用import fetch from 'node-fetch'; .

  2. 在最新版本的 nodejs 中,您可以使用let fetch = await import('node-fetch')將 ESM 模塊動態導入 CommonJS 模塊。

  3. 使用仍支持使用require()加載的 v2 版本node-fetch ,如文檔中所述。

在最新更新中, node-fetch只能通過使用import

您可以通過npm i node-fetch@2.6.1安裝舊版本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM