我有一个带有内容的app4.js
:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
我在Win10 cmd
上,我可以成功运行node app4.js
并获得Example app listening on port 3000!
,
但是当我使用forever -a forever.log start app4.js
时,它显示错误
永远检测到的脚本,该脚本以代码退出:0
问题在哪里?如何解决它?
cmd消息:
D:app>node app4.js
Example app listening on port 3000!
^C
D:app>forever -a forever.log start app4.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
error: Forever detected script exited with code: 0
另一个答案说这与./bin/www
有关,但我不明白这是什么意思。
这意味着尝试将app.js代码移至bin目录中的www文件。
in .bin/www
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
似乎在某些版本的节点/永远也是一个已知的错误。
问题
尝试了一下,我明白了,这是我完整的tring过程:
1.一开始,我正在观看此视频以学习forever
,在10:24
上使用forever start server.js
并成功运行了服务器文件。
2.理论上,如果我使用forever start app4.js
,它应该成功,但是我有错误:
D:app>forever start app4.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app4.js
error: Cannot start forever
error: log file C:Usersadmin.foreverforever.log exists. Use the -a or --append option to append log.
3.通过消息,我认为我应该使用 -a
将日志附加到某些文件,因此我在当前文件夹下创建了一个日志文件forever2.log
,然后使用forever -a forever2.log start app4.js
,i出现了错误:
error: Forever detected script exited with code: 0
4.尝试后,突然我仔细查看了我正在阅读的nodejs书,其示例是 forever start -l forever.log -o out.log -e err.log app.js
,即 -x
是在 start
和 app.js
之间放置的,所以我将命令更改为 forever start -a forever2.log app4.js
并获得
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: forever2.log
那就是正在处理forever2.log
,但我想要的是app4.js
5.我尝试forever start -a app4.js
,然后得到
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app4.js
然后我在http://localhost:3000/
上运行浏览器, Hello World!终于显示!