node中Express 動(dòng)態(tài)設(shè)置端口的方法
能夠動(dòng)態(tài)設(shè)置端口的話,調(diào)試起來會(huì)比較方便,不需要因?yàn)槟J(rèn)端口被占用去改代碼,還可以多開。代碼如下,其實(shí)沒啥難度,只要你了解nodejs里的process模塊,很容易就能寫出來。
假設(shè)我們想要的命令格式為node app.js 8000
var process = require('process') var port = (function () { if (typeof (process.argv[2]) !== 'undefined') { // 如果輸入了端口號,則提取出來 if (isNaN(process.argv[2])) { // 如果端口號不為數(shù)字,提示格式錯(cuò)誤 throw 'Please write a correct port number.' } else { // 如果端口號輸入正確,將其應(yīng)用到端口 return process.argv[2] } } else { // 如果未輸入端口號,則使用下面定義的默認(rèn)端口 return 8080 } })(), app.listen(port, function () { console.log('Example app listening on port ' + port + ' !') })
實(shí)際上,就是通過process.argv獲得命令內(nèi)容,這個(gè)方法會(huì)以數(shù)組的方式返回命令內(nèi)容,第一項(xiàng)一般都是node,第二項(xiàng)在上面的例子中是入口文件的路徑,第三項(xiàng)就是我們輸入的端口號啦。
如果你配置了npm的環(huán)境,還需要調(diào)整一下package.json里的參數(shù),比如大部分腳手架里的設(shè)置是這樣的:
"scripts": { "dev": "node build/dev-server.js", ... }
這個(gè)時(shí)候,我們只需修改命令為:
"scripts": { "dev:port": "node build/dev-server.js port", ... }
即可,使用時(shí)的命令是npm run dev 8000,這里用到的則是npm的自定義變量功能。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
kafka調(diào)試中遇到Connection to node -1 could not be established. Br
這篇文章主要介紹了kafka調(diào)試中遇到Connection to node -1 could not be established. Broker may not be available的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-09-09yarn?install命令報(bào)錯(cuò)warning?package-lock.json?found解決辦法
這篇文章主要給大家介紹了關(guān)于yarn?install命令報(bào)錯(cuò)warning?package-lock.json?found的解決辦法,文中通過圖文將解決的辦法介紹的非常詳細(xì),還分享了更多yarn install遇到的報(bào)錯(cuò)及解決方案,需要的朋友可以參考下2024-02-02npm install安裝模塊-save和-save-dev命令的區(qū)別
這篇文章介紹了npm install安裝模塊-save和-save-dev命令的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06