簡體   English   中英

forever node.js - 查看文件更改的目錄

[英]forever node.js - watch directory for file changes

如果在其目錄或下面檢測到任何文件更改,我希望重新啟動節點應用程序index.js 另外,我希望進程處於前台,將日志輸出到終端。 命令是什么?

我的嘗試:

forever stopall

forever -w /home/patrick/workspace/frontend-api/index.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: Could not read .foreverignore file.
error: ENOENT, open '/.foreverignore'
error: restarting script because unlinkDir changed

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: watch EACCES
    at errnoException (fs.js:1024:11)
    at FSWatcher.start (fs.js:1056:11)
    at Object.fs.watch (fs.js:1081:11)

根據我的理解(關於這個的文檔從我能看到的內容中不存在)。 -w--watch函數永遠檢查.foreverignore文件,如果缺少該程序,程序本質上會失敗並陷入永不啟動模塊的循環中。

在你的app目錄中創建一個名為.foreverignore的文件,列出你不想永遠觀看的所有內容。 這基本上告訴永遠忽略對這些文件的更改而不是在它們發生任何事情時重新啟動,這對於日志文件或實際上不需要重新啟動模塊以從中獲益的事情非常有用。

以下是我的實施示例:

文件:

/apps/myapp/.foreverignore

內容

node_modules/*
logs/*
conf/*
htdocs/*
*.log
*.gif
*.jpg
*.html

創建后,請確保您永遠重新啟動以獲取文件。

好像你需要nodemon

npm install -g nodemon

但是在我的Windows服務器上,我使用了https://github.com/tjanczuk/iisnode以便在多核服務器上實現可擴展性

正如@stuffyjoelab forever -w解釋的那樣, forever -w檢查.foreverignore文件,如果它不存在則會卡住。

這是我將forever添加到節點服務器項目的簡單方法。

  1. 創造.foreverignore

     # we only care about changes to javascript files # in the src folder !src/*.js 
  2. npm i -D forever添加forever作為一個開發依賴性

  3. 將其添加到package.json文件中的腳本中

     "dev": "forever -w --minUptime=1000 --spinSleepTime=1000 index.js", 
  4. npm run dev以永遠啟動它。

  5. 更改文件並瞧 - 您的服務器重新啟動

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM