使用另一个目录cwd的Sails运行节点
我需要能够启动我的Node应用程序,即从另一个工作目录使用Sails:
通常: node app
我需要: node myfolder/app
我的文件node myfolder/app
第二种方式提升服务器,但是,没有资产的作品。 看起来他正在使用我当前的目录作为资产文件夹(没有尝试API或其他),但服务器得到解除。
会发生什么,访问资源,给我一个Not Found
。
这是一个问题,还是我做错了什么?
解释我的目标:
我有一个多节点应用程序的文件夹。 我使用pm2来启动大量进程,所以,我的文件夹结构是这样的:
Apps |- processes.json | App1 |-... | App2 |-...
我需要从Apps
文件夹中启动所有应用Apps
, 而不是从App1
或App2
文件夹中启动。 但是,它与Sails.js无法正常工作。 我试图从另一个工作目录只运行一个应用程序,但同样的问题发生。
实际上,如果您要通过stream程pipe理器来运行,更好的方法是更改Sails应用程序主文件中的目录。 也就是说,在App1/app.js
文件的顶部,放置:
process.chdir(__dirname);
这样你就不会开始一个不同的进程,进程pipe理器将能够以预期的方式监视输出,日志等。
不知道在默认情况下这是否是一件好事,但我们会研究它!
风帆确实希望你从应用程序目录中解除服务器。 但是,您总是可以编写一个包装脚本来临时更改工作目录:
process.chdir('App1'); require('child_process').exec('node app.js');
将其作为runApp1.js
保存在主要的Apps目录中,然后使用stream程pipe理器来运行它。