簡體   English   中英

為什么我收到錯誤 [ERR_MODULE_NOT_FOUND]:運行服務器時找不到模塊

[英]Why I'm getting Error [ERR_MODULE_NOT_FOUND]: Cannot find module when running the server

我正在做一個啟動服務器。 基本上它具有 express 和 nodemon 依賴項的初始設置。 不幸的是,我在運行yarn devnpm run dev時得到ERR_MODULE_NOT_FOUND這是我擁有的代碼和文件結構。 在此處輸入圖像描述

您需要添加.js 擴展名 index.js:

import { SampleExport } from "../path/file.js"

在我看來,最好將 .env 文件與一些 npm package 甚至 json 文件一起使用。

Nodemon 是開發人員依賴項,您需要執行以下命令:

npm uninstall --save nodemon
npm install --save-dev nodemon

您應該在env.js文件中使用module.exports = someFuncName而不是使用 export 本身。 導出不起作用,js 不能要求您的 function 或其他東西...

問題是缺少文件擴展名。 導入需要如下所示:

import { sampleExport } from "../config/env.js";
//                                         ^^^

import不使用require使用的相同算法。 相反,它根據 ECMAScript 模塊規范工作,該規范需要明確的擴展。

這也在ECMAScript 模塊的 node.js 文檔中進行了解釋:

使用import關鍵字解析相對或絕對說明符時,必須提供文件擴展名。 還必須完全指定目錄索引(例如'./startup/index.js' )。

此行為與import在瀏覽器環境中的行為方式相匹配,假設是典型配置的服務器。

暫無
暫無

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

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