我想使用http-server和forever.js将我的应用程序部署到远程ubuntu服务器。但forever.js需要JS文件的路径,而不是可执行文件。所以我无法将密钥传递给http-server。到目前为止,最好的解决方案是通过npm在本地安装http-server并运行如下:forever start ./node_modules/http-server/bin/http-server
。但在这种情况下,我无法设置端口和其他选项。什么是最佳做法?
答案 0 :(得分:16)
您可以使用该代码设置选项。只需在命令结束后使用available flags即可。例如:
forever start ./node_modules/http-server/bin/http-server -p 80 -d false
答案 1 :(得分:9)
我有同样的问题。找到一个node.js script,它可以运行shell命令并用它来运行http-server命令以及选项。
node.js脚本的示例名为' startserver.js':
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("sudo http-server -a ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com -p 80", puts);
然后你可以永远使用它来运行它:
forever start startserver.js
答案 2 :(得分:4)
这对我有用
首先获取http-server的路径
which http-server
例如,您将获得" / usr / bin / http-server"
然后写下永远跟着http-server路径和你的app路径
forever start /usr/bin/http-server /your/app/path
最好的问候。
答案 3 :(得分:2)
试试这个:
$ forever start $(which http-server) -p 8000 -d false
您可以在forever start $(which http-server)
$(which http-server)
:返回http-server路径
-p 8000
:端口8000,将其更改为任何端口号
-d
:显示目录列表
答案 4 :(得分:1)
浏览到包含文件的目录 并从命令行类型: 永远启动-c http-server。 -p your_port_number 例: 永远开始-c http-server -p 8000
通过这种方式,端口8000将永远指向目录中的html文件。
答案 5 :(得分:0)
这个命令对我有用。
永远启动 npm\node_modules\http-server\bin\http-server
在此之前,您应该找到您的 npm 目录。