欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node檢測端口可用性的實踐示例

 更新時間:2023年02月01日 10:17:41   作者:在下月亮有何貴干  
本文主要介紹了node檢測端口可用性的實踐示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

我們編寫自己的框架或者 nodejs 服務(wù)器代碼時,可能會用一些固定使用我們常用的端口。

問題來了,如果是編寫框架,你的框架中固定了框架使用8000端口,用戶使用你的框架時并不知道,此時他本機的8000端口被占用了,那用戶豈不是無法使用你的框架了。

我們需要解決這個問題。

創(chuàng)建項目

$ mkdir project && cd project
$ npm init -y

使用express編寫一個服務(wù)器

安裝 express

$ npm i express

編寫一個占用8000端口的服務(wù)。

// project/index.js

const express = require('express')
const app = new express()

app.listen(8000, () => {
? ? console.log(`服務(wù)器在8000端口啟動`)
})

啟動

$ node index.js
服務(wù)器在8000端口啟動

此時我們不關(guān)閉該服務(wù),再打開一個命令行,再嘗試啟動。

因為8000端口已經(jīng)運行了一個服務(wù),被占用了,所以報錯了:

$ node index.js
Error: listen EADDRINUSE: address already in use :::8000

解決

安裝 portfinder

$ npm i portfinder 

使用 portfinder 來檢測端口是否可用,如果被占用會重新尋找一個可用的端口給你。

const express = require('express')
const portfinder = require('portfinder')
const app = new express()

const default_port = 8000;

(async () => {
? ? const port = await portfinder.getPortPromise({
? ? ? ? port: default_port
? ? })

? ? app.listen(port, () => {
? ? ? ? console.log(`服務(wù)器在${port}端口啟動`)
? ? })
})()

我們再重新啟動兩個,成功解決問題。

$ node index.js
服務(wù)器在8000端口啟動

$ node index.js
服務(wù)器在8001端口啟動

尾言

到此這篇關(guān)于node檢測端口可用性的實踐示例的文章就介紹到這了,更多相關(guān)node檢測端口可用性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nest.js使用multer實現(xiàn)文件上傳功能

    Nest.js使用multer實現(xiàn)文件上傳功能

    這篇文章主要為大家詳細介紹了Nest.js鵝湖使用multer實現(xiàn)文件上傳功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Linux通過yum命令徹底刪除node.js并重新安裝

    Linux通過yum命令徹底刪除node.js并重新安裝

    這篇文章主要介紹了Linux通過yum命令徹底刪除node.js并重新安裝,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • node如何將package.json中的包降為低版本或者升級為高版本

    node如何將package.json中的包降為低版本或者升級為高版本

    比如現(xiàn)在你用某個包的當(dāng)前版本,但是你安裝的版本高了,那么你應(yīng)該這么做,首先刪除node項目中的node_modules目錄,防止安裝時的包不一致,下面給大家介紹node將package.json中的包降為低版本或者升級為高版本的方法,感興趣的朋友一起看看吧
    2023-11-11
  • Node.js16.15.1的一個報錯以及解決方案分享

    Node.js16.15.1的一個報錯以及解決方案分享

    這篇文章主要給大家介紹了關(guān)于Node.js16.15.1的一個報錯以及解決方案的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-12-12
  • 手把手教你VSCode配置JavaScript基于Node.js的調(diào)試環(huán)境

    手把手教你VSCode配置JavaScript基于Node.js的調(diào)試環(huán)境

    最近在補數(shù)據(jù)結(jié)構(gòu),在用VScode調(diào)試js代碼文件結(jié)果怎么都不行,這篇文章主要給大家介紹了關(guān)于VSCode配置JavaScript基于Node.js的調(diào)試環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • node.js使用Moment.js js 時間計算方法示例小結(jié)

    node.js使用Moment.js js 時間計算方法示例小結(jié)

    這篇文章主要介紹了node.js使用Moment.js js 時間計算方法,結(jié)合實例形式分析了Moment.js js模塊時間計算的常用操作技巧與相關(guān)注意事項,需要的朋友可以參考下
    2023-05-05
  • node+js搭建時間服務(wù)器的思路詳解

    node+js搭建時間服務(wù)器的思路詳解

    這篇文章主要介紹了node+js搭建時間服務(wù)器,通過本文的學(xué)習(xí)可以了解node的fs模塊怎么讀取數(shù)據(jù)及express怎么搭建服務(wù)器,設(shè)置數(shù)據(jù)接口的,需要的朋友可以參考下
    2022-07-07
  • node.js中的fs.futimes方法使用說明

    node.js中的fs.futimes方法使用說明

    這篇文章主要介紹了node.js中的fs.futimes方法使用說明,本文介紹了fs.futimes方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • json對象及數(shù)組鍵值的深度大小寫轉(zhuǎn)換問題詳解

    json對象及數(shù)組鍵值的深度大小寫轉(zhuǎn)換問題詳解

    這篇文章主要給大家介紹了關(guān)于json對象及數(shù)組鍵值的深度大小寫轉(zhuǎn)換問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • 使用nvm進行多個nodejs版本的統(tǒng)一管理

    使用nvm進行多個nodejs版本的統(tǒng)一管理

    隨著前端項目的越來越多,不同項目使用的nodejs版本可能不一樣,導(dǎo)致在切換不同項目時需要更換不同的nodejs版本,非常麻煩,本次推薦使用nvm進行多個nodejs版本的統(tǒng)一管理,文中有詳細的圖文介紹,需要的朋友可以參考下
    2023-12-12

最新評論