2017-09-16 72 views
0

我有一個app4.js與內容:永遠檢測腳本代碼退出:0

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,顯示錯誤

Forever detected script exited with code: 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 


Another Answer說這是關係到./bin/www,但我不明白是什麼意思。

回答

0

經過一番嘗試我得到了它,這是我的完整過程特林:

1.In開始的時候,我看this video學習forever,在10:24它使用forever start server.js併成功運行服務器文件。


2.Theoretically如果我用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:\Users\admin\.forever\forever.log exists. Use the -a or --append option to append log. 

3.By的消息,我想我應該用-a附加日誌一些文件,所以我在當前文件夾下創建一個日誌文件forever2.log,並使用forever -a forever2.log start app4.js,我得到了錯誤:

error: Forever detected script exited with code: 0 

4。經過一番嘗試,突然我仔細看的書的NodeJS我讀,它的例子是forever start -l forever.log -o out.log -e err.log app.js,那就是-xstartapp.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.Finally我嘗試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!終於顯示!

0

這意味着嘗試將您的app.js代碼移動到bin目錄中的www文件。

中的.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!'); 
}); 

而且似乎對節點的某些版本的/永遠的一個已知的bug。

Issue