找不到模块app.js?

时间:2018-01-09 09:26:38

标签: node.js express

我在服务器目录中启动节点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。

我刚刚将节点重新安装到一个更新的版本,从5.到最新版本。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

解决方案-就我而言

我运行tsc --watch,将所有.ts文件编译为.js

答案 2 :(得分:0)

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

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

用户可以使用此package

npm i app-module-path