从其他目录启动时,我的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
,并在查找脚本时使用它。