分享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全栈】

相关文章
相关标签/搜索