如果你有 PHP 開發(fā)經(jīng)驗(yàn),會(huì)習(xí)慣在修改 PHP 腳本直接刷新瀏覽器以查看結(jié)果,而你 在開發(fā) Node.js 實(shí)現(xiàn)的 HTTP 應(yīng)用時(shí)會(huì)發(fā)現(xiàn),無論你修改了代碼的哪一個(gè)部分,都必須終止Node.js然后重新運(yùn)行。
這是因?yàn)?Node.js 只有在第一次引用到某一部分時(shí)才會(huì)去解析 本文件,以后都會(huì)直接訪問內(nèi)存,避免重復(fù)載入,而 PHP 則是重新讀取并解析腳本(如果沒有專門的優(yōu)化配置)。
在開發(fā)Node.js實(shí)現(xiàn)HTTP應(yīng)用時(shí)會(huì)發(fā)現(xiàn),無論你修改了代碼的哪一部分,都必須終止Node.js再重新運(yùn)行才會(huì)奏效。這是因?yàn)镹ode.js只有在第一次引用到某部分時(shí)才會(huì)去解析腳本文件,以后都會(huì)直接訪問內(nèi)存,避免重復(fù)載入。
Node.js的這種設(shè)計(jì)雖然有利于提高性能,卻不利于開發(fā)調(diào)試,因 為我們?cè)陂_發(fā)過程中總是希望修改之后立即看到結(jié)果,而不是每次都要終止并重新啟動(dòng)。
supervisor 可以幫助你實(shí)現(xiàn)這個(gè)功能,它會(huì)監(jiān)視你對(duì)代碼的改動(dòng),并自動(dòng)重動(dòng) Node.js。
使用方法很簡(jiǎn)單,首先使用 npm 安裝 supervisor:
$ npm install -g supervisor
如果使用的是 Linux 或 Mac,可以使用 sudo npm install -g supervisor來安裝。
接下來,使用 supervisor動(dòng) app.js: $ supervisor app.js
DEBUG: Running node-supervisor with
DEBUG: program ‘app.js'
DEBUG: –watch ‘.'
DEBUG: –extensions ‘node|js'
DEBUG: –exec ‘node'
DEBUG: Starting child process with ‘node app.js'?DEBUG: Watching directory ‘/home/byvoid/.' for changes. HTTP server is listening at port 3000. 代碼被改動(dòng)時(shí),運(yùn)行本會(huì)被重新啟動(dòng)。在終端中顯示的結(jié)果如下:
DEBUG: crashing child
DEBUG: Starting child process with ‘node app.js'
HTTP server is listening at port 3000.
supervisor 這個(gè)小工具可以解決開發(fā)中的調(diào)試問題。

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VeVb武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答