prod env中节点路径的问题

时间:2016-03-14 10:44:22

标签: node.js path base-path

我的第一个节点服务器应用程序在localhost上正常运行,但在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,5和6但没有改变错误信息。

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

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

对节点不熟悉我不太了解路径映射,看起来很奇怪,最后一个可以工作而第一个没有,因为它们都使用点语法...

1 个答案:

答案 0 :(得分:0)

如果您正在使用不区分大小写的文件系统(OS X或Windows)进行开发,那么您可能会因为linux文件系统区分大小写而被绊倒。例如,检查“dbHelper”中的“H”在git存储库中是否真的是大写。