分享2个实用的nodejs模块

分享2个实用的nodejs模块

  • kp 根据端口号杀死进程,尤其对于pm2的集群模式,僵尸进程有效

  • mount-routes 根据路径来自动加载路由,让开发更简单

kp

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

npm version

Install

[sudo]npm install -g kp

Usage

default server port is 3000,直接执行kp会杀死使用3000端口的应用

kp

根据某个端口

kp 3002

支持sudo,因为有的时候有权限的问题

kp 3002 -s or kp 3002 --sudo

目前centos/ubuntu和mac已经测过

感谢@jysperm反馈:fuser 来自 psmisc 这个包(killall 也在这个包里),Ubuntu 默认安装,其他系统不清楚。

没有使用fuser的原因是:fuser在mac上不能用

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


转载于:https://my.oschina.net/nodeonly/blog/467148

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值