分享2个实用的nodejs模块

  • kp 根据端口号杀死进程,尤其对于pm2的集群模式,僵尸进程有效
  • mount-routes 根据路径来自动加载路由,让开发更简单

kp

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

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

时间: 2024-08-26 15:54:57

分享2个实用的nodejs模块的相关文章

NodeJS模块、包、NPM

1.NodeJS模块        每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用               新建一个文件mytest.js,输入如下代码: function hello() { console.log('Hello'); } function world() { console.log('World'); } 这就是一个NodeJS模块,但是怎么在其他模块中引入呢?我们需要为模块提供对外的接口,这就用到module

利用nodejs模块缓存机制创建“全局变量”

在<深入浅出nodejs>有这样一段(有部分增减): 1.nodejs引入模块分四个步骤 路径分析 文件定位 编译执行 加入内存 2.核心模块部分在node源代码的编译过程中就编译成了二级制文件,在node启动时就直接加载如内存,所以这部分模块引入时,前三步省略,直接加入. 3.nodejs的模块加载和浏览器js加载一样都有缓存机制,不同的是,浏览器仅仅缓存文件,而nodejs缓存的是编译和执行后的对象(缓存内存). 基于以上三点:我们可以编写一个模块,用来记录长期存在的变量.例如:我可以编写

分享一个很实用的java代码,可以将以逗号分隔的数字以从大到小的方式排序后返回

原文:分享一个很实用的java代码,可以将以逗号分隔的数字以从大到小的方式排序后返回 源代码下载地址:http://www.zuidaima.com/share/1550463693032448.htm 对于web开发中,多个id的排序很实用,有需要的牛人可以下载. package com.zuidaima.math; import java.util.Arrays; /** *@author www.zuidaima.com **/ public class SortIDString { pu

es6模块 nodejs模块和 typescript模块

es6模块 import和export nodejs模块 require和module.exports typescript模块 module和export 原文地址:https://www.cnblogs.com/mttcug/p/8120274.html

nodejs模块pg操作postgres数据库

postgres数据库安装:windows安装解压版postgresql 1.使用nodejs模块pg操作postgres数据库 const pg = require('pg') // 数据库配置 var config = { user: "wenbin.ouyang", host: 'localhost', database: "test", password: "", port: 5432, // 扩展属性 max: 20, // 连接池最大

mysql模块简单实用操作-----nodejs

1 //mysql模块简单实用操作 2 3 var mysql = require('mysql'); 4 5 mc = {}; 6 7 8 var dbconfig = { 9 host : 'xxxxxxxxxx', 10 user : 'xxx', 11 password : 'xxx', 12 database : 'xxxxx' 13 }; 14 15 16 17 mc.sqlExc = function (sql, next) { 18 var db = mysql.createCo

nodejs 模块恩仇录

gulp-nodemon 和 nodemon 官方网站:http://nodemon.io/ github地址:https://github.com/remy/nodemon/ 简介:Nodemon 是一款非常实用的工具,用来监控你 node.js 源代码的任何变化和自动重启你的服务器. Nodemon 是一款完美的开发工具 作用:自动启动/重启你的node程序,开发node服务端程序必备 安装: npm install -g nodemon npm install -g gulp-nodemo

深入NodeJS模块os - 与操作系统“打交道”

读了 os 模块的文档,研究了几个有意思的问题: ?? 识别操作系统平台 ?? 理解和计算"平均负载" ?? 理解和计算"cpu 使用率" ?? 理解和计算"内存使用率" ?? 查看运行时间 识别操作系统平台 nodejs 提供了os.platform()和os.type(),可以用来识别操作系统平台.推荐使用: os.platform() 理解和计算"平均负载" 平均负载是指:单位时间内,系统处于可运行状态和不可中断状态的平

学习搭建一个小网站_3_安装NodeJS模块_建立express

nodejs安装这些模块: express, express-generator, mongodb, mysql 简单步骤:建立目录 d:\js\BlogWebSite cmd->cd d:->mkdir js->cd js->mkdir BlogWebSite->cd BlogWebSite cmd下首先安装全局模块:( -g 参数是全局安装 ) 1. npm install express -g 2. npm install express-generator -g 在j