从其他目录启动时,我的node.js服务器不起作用

我试图让我的node.js服务器启动时启动。 如果我在我的服务器文件夹并键入:

node server.js 

它运行得很好,并启动在同一文件夹中的Python脚本。

但是,如果我从该目录之外或从初始化脚本运行它,如下所示:

 node /home/servers/server.js 

它启动并接收调用,但不运行python脚本,因为它应该。

有谁知道发生了什么事情,我该如何解决? 谢谢。

当你运行node ,它引用目录节点被调用的所有文件系统调用,而不是app.js所在的目录,所以如果你想要require('./myfile')myfile.js将需要在你正在运行node的目录中。

从不同的目录运行这个简单的脚本来查看它的行为(它运行ls ,从这里亲切地复制):

 var sys = require('sys') var exec = require('child_process').exec; function puts(error, stdout, stderr) { sys.puts(stdout) } exec("ls -la", puts); 

至于你的Python问题,你应该开发一个经验位置来调用app.js ,并在查找脚本时使用它。