prod env 中的节点路径问题

problems with node paths in prod env

我的第一个节点服务器应用程序 运行 在本地主机上运行良好,但在 digitalocean (ubuntu) 环境中我无法获得工作路径。

这一行

require("./lib/dbHelper").initilize();

生成此错误

Error: Cannot find module './lib/dbHelper'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/var/www/wsApp/app.js:18:1)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)

还有这一行

let User = require("../models/User");

生成此错误

Error: Cannot find module '../models/User'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/var/www/wsApp/routes/auth.js:5:12)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)

我已在此处 (https://gist.github.com/branneman/8048520) 查找解决方案,并且尝试了建议 3、4.2 和 6,但错误消息没有任何改变。

值得注意的是这条线似乎工作正常

app.use("/", require("./routes/auth.js"));

作为 node 的新手,我不太了解路径映射,最后一个可以工作而第一个不能工作似乎很奇怪,因为它们都使用点语法...

如果您在不区分大小写的文件系统(OS X 或 Windows)上进行开发,您可能会被 linux 文件系统区分大小写这一事实所困扰.例如,检查 "dbHelper" 中的 "H" 在您的 git 存储库中是否真的大写。