internal/modules/cjs/loader.js:582 抛出错误

150

我在控制台中收到以下错误信息:

Error : Cannot find module

这是完整的错误信息。我该怎么办?

internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

caseyjustus、ttfreeman、Bishwajit Vikram、Muhammad Tahir、Andrew Koper 的答案都有一个共同点,即问题中的错误出现在调用 node 时对_不存在的文件_进行操作。(!) -- 请考虑阅读 https://dev59.com/DlQJ5IYBdhLWcg3wlm7B。 - Henke
我曾经遇到过同样的问题。我将webpack-dev-server降级到2.5.1版本,现在一切都正常了。 - Nikita Bhutada
我通过使用yarn而不是npm解决了这个问题。 - Áron Pop Adorján
如果使用了 nvm run 而不是 npm run,也可能会看到此错误。 - Gayan Weerakutti
在运行npm run serve:ssr的dist文件夹时,我遇到了这个错误。为什么dist文件夹依赖于node_module? - Santosh
46个回答

2
在主目录内创建.js文件,而不是在public或src等子文件夹中创建。

1

我遇到了相同的错误:

 nodemon -w server.js server.js

[nodemon] 2.0.2
[nodemon] reading config .\nodemon.json
[nodemon] to restart at any time, enter `rs`
[nodemon] or send SIGHUP to 19248 to restart
[nodemon] ignoring: .\node_modules/**/* .\.next/**/*
[nodemon] watching dir(s): server.js
[nodemon] watching extensions: js,json
[nodemon] starting `node server.js index.js`
[nodemon] forking
[nodemon] child pid: 18840
[nodemon] watching 30 files
internal/modules/cjs/loader.js:797
    throw err;
    ^

Error: Cannot find module 'D:\Programming\01a.nextjs\project\index.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
    at internal/main/run_main_module.js:17:11 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
[nodemon] app crashed - waiting for file changes before starting...

我按照这里的所有建议操作了一遍,但都没有对我起作用。 我发现的是,我将server.js移动到了它自己的文件夹server/server.js中,但在package.json中,我忘记进行更改,如下所示:
 "dev": "nodemon -w server.js server.js",
 "build": "next build",
 "start": "NODE_ENV=production node server.js"

转换为:

"dev": "nodemon -w server/server.js server/server.js",
"build": "next build",
"start": "NODE_ENV=production node server/server.js"

我进行了这个更改并用 npm run dev 重新启动服务器,一切都正常工作了。


1
同样的问题也发生在我身上,我只是通过删除 "dist" 文件并重新运行应用程序来解决它。

1

我改变了项目文件夹的名称,它起作用了,但我不知道为什么 :)


1
这个问题发生在我身上,但我相信是父文件夹的名称中的特殊字符混淆了npm。 - StvnSpnz

1
你需要使用以下命令启动服务器。
npm start

或者

yarn start

这是一个小错误。我运行了node start而不是npm start。太愚蠢了! - Moksh

1

对我来说,我只是安装了这个软件包,然后它就可以工作了:

yarn add cjs-loader --save

或者

npm i cjs-loader --save

但请注意,有时问题不仅在于缺少该库,而且您的应用程序文件app.js的路径可能不在此文件夹内:
C:\Users\User\Desktop\NodeJsProject\

1

在从添加/删除程序修复node.js安装后,它与我一起运行。

这是全局的,不仅仅是针对一个项目!


1
对我来说,我的问题出在我的 Procfile 文件上。我有以下内容:
web: node src/index.js

当我应该拥有的是:

web: node dist/index.js

1
如果你正在使用Node/Express,请考虑在终端中运行此命令。
npm i cjs-loader

1

在我执行sudo npm i cjs-loader之后,它终于对我起作用了(并确保安装的是express而不仅仅是express-http-proxy)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接