Node 无法找到没有 .js 扩展名的模块

作者:编程家 分类: 编程代码 时间:2025-08-30

在Node.js中,当我们尝试引入一个模块时,如果没有指定模块的文件扩展名为.js,那么Node.js会报错并提示无法找到该模块。这是因为Node.js默认只会寻找以.js结尾的文件作为模块文件。

问题描述

在Node.js开发过程中,有时我们可能会遇到以下错误提示:

Error: Cannot find module 'exampleModule'

这种错误提示通常出现在我们尝试引入一个没有指定扩展名的模块时。例如,我们有一个名为exampleModule的模块文件,但在引入时没有指定为exampleModule.js,那么Node.js就会报错。

错误案例

让我们通过一个简单的示例来演示这个问题。假设我们有以下两个文件:

exampleModule.js:

javascript

// exampleModule.js

module.exports = {

message: "Hello, world!"

};

index.js:

javascript

// index.js

const exampleModule = require("./exampleModule");

console.log(exampleModule.message);

在上面的代码中,我们定义了一个简单的模块exampleModule.js,它导出一个包含一条消息的对象。然后,在index.js中,我们尝试引入exampleModule模块并输出其中的消息。

如果我们运行index.js,将会得到以下错误:

Error: Cannot find module './exampleModule'

这是因为在index.js中,我们没有指定exampleModule的文件扩展名为.js。Node.js默认只会寻找以.js结尾的文件作为模块文件,因此找不到没有指定扩展名的模块文件。

解决方法

要解决这个问题,我们需要在引入模块时明确指定模块的文件扩展名为.js。修改index.js如下:

javascript

// index.js

const exampleModule = require("./exampleModule.js");

console.log(exampleModule.message);

通过在引入模块的路径后添加.js扩展名,Node.js就能正确地找到并引入模块文件。

在Node.js中,当我们尝试引入一个模块时,如果没有指定模块的文件扩展名为.js,Node.js会报错并提示无法找到该模块。为了解决这个问题,我们需要在引入模块时明确指定模块的文件扩展名为.js。这样就能确保Node.js能够正确地找到并引入模块文件。

希望本文能帮助你解决Node.js中遇到的模块引入问题!