繁体   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