分享2個實用的nodejs模塊

分享2個實用的nodejs模塊node

  • kp 根據端口號殺死進程,尤爲對於pm2的集羣模式,殭屍進程有效linux

  • mount-routes 根據路徑來自動加載路由,讓開發更簡單git

kp

kp is a tool for kill process by server port. only use for mac && linuxgithub

npm version

Install

[sudo]npm install -g kp

Usage

default server port is 3000,直接執行kp會殺死使用3000端口的應用express

kp

根據某個端口npm

kp 3002

支持sudo,由於有的時候有權限的問題ubuntu

kp 3002 -s or kp 3002 --sudo

目前centos/ubuntu和mac已經測過centos

感謝@jysperm反饋:fuser 來自 psmisc 這個包(killall 也在這個包裏),Ubuntu 默認安裝,其餘系統不清楚。app

沒有使用fuser的緣由是:fuser在mac上不能用ui

mount-routes

mount-routes = auto mount express routes with routes_folder_path

Install

npm install --save mount-routes

Usages

var express = require('express')
var app = express()

var mount = require('mount-routes');

// simple
// mount(app);

// with path
mount(app,'routes2');

// start server
app.listen(23018)

使用方式1 mount(app);

能夠自動掛載routes目錄的全部路由,以文件名稱做爲路由的根

好比 routes/movies.js

它至關於

var movies = require('./config/routes/movies');

app.use('/movies',movies);

使用方式2 mount(app,’routes2’);

能夠根據第二個參數,即路由目錄文件夾的名稱,自動掛載它下面的全部路由,以文件名稱做爲路由的根

好比 routes2/movies.js

它至關於

var movies = require('./config/routes2/movies');

app.use('/movies',movies);

總結

能夠一次掛載多個路由目錄

// simple
mount(app);

// with path
mount(app,'routes2');

但要當心文件名不能重複,否則會有問題,好比

  • routes/movies.js

  • routes2/movies.js

它們會掛載到同一個path上,這種狀況下須要謹慎使用,之後版本會考慮改進

源碼

歡迎反饋和貢獻

  • https://github.com/i5ting/kp

  • https://github.com/moajs/mount-routes

歡迎關注個人公衆號【node全棧】

相關文章
相關標籤/搜索