我想创建一个可执行的bash文件,它将执行命令node app.js --目标是在已经安装节点的本地机器上打开一个可执行文件,该可执行文件位于项目目录中(它是一个express.js应用程序)。
我试图在mac上做这件事,我编写了一个.command文件,使其可执行,并添加了命令。问题是,进程会立即关闭,因为终端似乎会在最后一个命令之后自动添加exit;。我也想在Windows机器上做。
我不需要整个应用程序在一个可执行文件,只有选择双击一个文件,而不是打开终端和手动编写这个简单的命令。
知道如何做到这一点吗?
发布于 2017-04-05 05:45:06
恐怕任何建议的解决方案都没有奏效或足够好使用--但我设法用以下方法解决了这个问题:
reldir=`dirname $0`
cd $reldir
npm start@Gregory是最接近解决方案的-
首先-找到当前目录路径并转到它。接下来,与命令node app.js不同的是,调用npm start似乎是在进程退出后执行的,因此它只是保持活动状态。
发布于 2017-03-31 11:46:26
永远应该这么做。
除了节点之外,永远安装:
npm i -g forever
并将该命令更改为:
forever app.js
服务器应在进程关闭后继续运行。
要停止服务器,可以通过以下命令使用另一个.command文件:
forever stopall
发布于 2017-03-31 16:13:39
.command在用户文件夹中运行,因此您必须输入项目文件夹才能运行节点脚本
cd /something/project
node app.js 对我来说很管用。
我认为你只需要把它变成一个.bat,它就能工作了
您可以使用npm启动而不是节点app.js。
https://stackoverflow.com/questions/42981303
复制相似问题