【pm2】watch不起做用的解決辦法

pm2express.js應用的自動化部署工具,開發過程當中發現用watch參數監控工程目錄下文件內容變化時自動進行熱加載的過程出現問題。html

其只能監控到html文件的變化,對於js文件則監控不到。git

詳述以下
工程的目錄結構相似以下:github

project
|-- app.js
|-- ecosystem.json
|-- bin
    |-- www
|-- other_folder

bin/www爲工程的啓動入口。
ecosystem.jsonpm2的配置文件,位於工程的根目錄下。
ecosystem.json內容爲:express

{
  "apps": [
    {
      "name": "myapp",
      "script": "./bin/www", //是相對於ecosystem.json文件的相對目錄
      "watch": true,
      ....
    }
  ]
}

watch默認值爲true,即上述配置可不設置watch選項,一樣也能監控內容變化,監控的爲ecosystem.json所在的當前目錄的下的全部內容json

此外,watch值還可爲false(關閉watch)、表示某個路徑的字符串表示多個目錄的字符串數組數組

可是,根據上面的配置,卻發現不能監控到js文件的變化。例如,app.js文件的變化就監控不到。服務器

究其緣由,是因爲服務器的文件系統引發的。app

解決辦法
ecosytem.json文件中設置watch_options選項,以下工具

"watch_options": {
  "usePolling": true
}

經實踐,可解決。有興趣的可研讀這裏code

相關文章
相關標籤/搜索