node.js - 找不到模块 app.js?

标签 node.js express

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

我刚刚将 Node 重新安装到更新的版本,从 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

关于node.js - 找不到模块 app.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48164981/

相关文章:

node.js - 在 Express 中生成 _csrf?

javascript - 如何使用nodeJs从sql server中删除特定行

node.js - 如何阅读有关回调参数的nodejs文档(node v8.x)

node.js - Nodejs-spawn.stdout 和 process.stdout 之间的区别

node.js - MongoDB/Node.js-mongoose-text-search 中的全文搜索

node.js - MongoDB NodeJS native 游标过早关闭

javascript - 如何修复 Handlebars 中的前端 javascript 从服务器捕获未定义的值?

node.js - 默认 Node.js + Express.js 不运行

javascript - Express session 表现不同 : How can I prevent my session from being destroyed after a page refresh?

api - 使用Axios处理API调用错误