分享2個實用的nodejs模塊node
kp 根據端口號殺死進程,尤爲對於pm2的集羣模式,殭屍進程有效linux
mount-routes 根據路徑來自動加載路由,讓開發更簡單git
kp is a tool for kill process by server port. only use for mac && linuxgithub
[sudo]npm install -g kp
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 = auto mount express routes with routes_folder_path
npm install --save mount-routes
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)
能夠自動掛載routes目錄的全部路由,以文件名稱做爲路由的根
好比 routes/movies.js
它至關於
var movies = require('./config/routes/movies'); app.use('/movies',movies);
能夠根據第二個參數,即路由目錄文件夾的名稱,自動掛載它下面的全部路由,以文件名稱做爲路由的根
好比 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全棧】