如在node.js中所瞭解的,如果編輯服務器端文件,則需要重新啓動應用程序才能進行更改。
現在我想知道是否有一種方法可以在服務器內部執行此操作,正如我們知道文件發生更改或沒有更改(基於上次修改日期)一樣,我們只需要重新運行應用程序或重新啓動應用程序或執行某些操作無需我們從命令行執行更改。
我們都知道如何做到這一點Grunt.js(或類似的東西)或supervisor,但我想這樣做沒有任何外部包。
非常感謝:)重新啓動node.js應用程序文件更改
1
A
回答
0
你也許可以用這種方法來觀察誰必須重新啓動服務器更改的文件: https://nodejs.org/api/fs.html#fs_fs_watchfile_filename_options_listener
+0
是的,但我怎麼才能重新啓動服務器?就像告訴服務器重置的代碼一樣 –
2
您最初可以在服務器啓動,使得它結束時重新開始。在Bash文件中,它只是一個遞歸函數。
function start(){
node index.js
start
}
或分批在您的節點服務器文件goto語句
:start
node index.js
goto start
然後,當你發現一個文件更改您只需結束該進程
用於觀看有該文件的模塊在那裏這使它更容易。例如。 watch
require('watch').watchTree('./server', process.exit);
0
使用cluster.fork
運行在一個子進程的所有代碼,並設置主進程fork一個新的子每當前面的孩子退出。然後簡單地使用chokidar在文件更改時立即退出孩子。
// Put this at the very beginning of your code
var cluster = require('cluster');
if (cluster.isMaster) {
cluster.on('exit', cluster.fork);
cluster.fork();
return;
}
require('chokidar').watch('./**/*.*').on('change', process.exit);
// Rest of the code here
...
相關問題
- 1. 更新配置文件,無需重新啓動應用程序
- 2. 修改App_GlobalResources文件強制應用程序重新啓動
- 3. Python:自動重新啓動WSGIServer + Bottle應用程序文件更改
- 4. ScrollView不滾動,應用程序重新啓動方向更改
- 5. 更改.js文件時,Node.js不會重新啓動服務器?
- 6. 應用程序自定義配置文件更改時重新啓動
- 7. 在服務器啓動/重新啓動時啓動Node.js應用程序
- 8. 重新啓動應用程序優先更改
- 9. 在應用程序中更改語言 - 如何重新啓動?
- 10. 更改診斷日誌重新啓動Web應用程序
- 11. 重新啓動應用程序(Oncreate)在方向更改
- 12. python更改權限以重新啓動外部應用程序
- 13. PM2刪除後無法重新啓動Node.js應用程序
- 14. 在重新啓動的Node.js應用程序拋出EADDRINUSE錯誤
- 15. node.js應用程序可以重新啓動自己
- 16. 重新啓動Node.js應用程序與init.d
- 17. [Android]應用程序重新啓動設備後重新啓動
- 18. 將重新啓動應用程序重新啓動前面
- 19. 用更改的文件重新啓動節點子進程
- 20. 自動更新後重新啓動我的應用程序?
- 21. 市場更新後自動重新啓動應用程序
- 22. 鉻/鉻應用程序更新後自動重新啓動
- 23. 自動更新位置而不重新啓動應用程序
- 24. 在Node.js中更新文件而不重新啓動服務器
- 25. 應用程序重新啓動以刪除,添加,更新文件夾
- 26. 重新啓動設備時,是否會重新啓動監視重要位置更改的iOS應用程序?
- 27. 避免重新啓動應用程序
- 28. Sideview重新啓動Android應用程序
- 29. 重新啓動iPhone應用程序
- 30. Netbeans - 應用程序重新啓動
我已經嘗試過,基本的想法是有一個無法更改的主js文件。它會觀看所有其他文件。一旦檢測到文件更改,它將刪除先前的需求緩存並再次請求該文件。 – Surely
所以文件無法正常重啓,對吧?必須有一個主文件? –
我不知道這個,對不起 – Surely