找不到模块 app.js?

4

我正在服务器目录中启动node app.js,出现以下错误:

module.js:544
    throw err;
    ^

Error: Cannot find module 'server/server/app.js'
    at Function.Module._resolveFilename (module.js:542:15)
    at Function.Module._load (module.js:472:25)
    at Function.Module.runMain (module.js:682:10)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:613:3
[nodemon] app crashed - waiting for file changes before starting...

如何修复这个问题?之前它是正常工作的,现在它正在寻找一个奇怪的路径/server/server,而不是只有/server。
我刚刚将节点重新安装到更新的版本上,从5.0版本升级到最新的稳定版本。

1
你能指定你的项目目录结构并说明如何启动nodmon吗? - UchihaItachi
在我的情况下,我忘了进入当前文件的目录。 - saee
3个回答

5

很可能您尝试这样加载模块:

require('server/server/app.js')

Node.js会尝试在node_modules目录下找到它。但我猜,该文件不是一个依赖项,而是你自己的代码的一部分。通常情况下,你可以像下面这样要求它(请考虑开头的点):

require('./server/server/app.js')

这使得Node.js从当前目录('.')开始查找文件。

以下是适用于以下文件夹结构的环境:

/myfiles/main.js   <-- this file contains the `require` statement
/myfiles/server/
/myfiles/server/server/
/myfiles/server/server/app.js   <-- this file is being `require`d

0

也许你想访问文件 app.js,

require('./server/server/app.js')
// to be like this
require('server/server/app.js')

你可以使用这个

npm i app-module-path

0

我遇到了这个问题,因为我删除了build文件夹,然后尝试构建项目。

解决方案 - 在我的情况下

我运行了tsc --watch,将所有的.ts文件编译成.js文件。


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