NodeJS 常用模块积累
cluster&forever
cluster & forever
虽然 nodejs 原生已经提供了 cluster 模块,大部分情况下可以满足我们的基本需求,但这两个模块 cluster 和 forever 都提供了更强大的功能。
cluster 及 forever 都能让你的 nodejs 应用的管理更加方便,比如启动、重启、停止你的应用。
他们也都可以保证应用的稳定性,如果你的 nodejs 程序存在错误而使进程关闭了,cluster 或 forever 都能自动重启他们,以保证 nodejs 应用零宕机。
Github 地址
https://github.com/nodejitsu/forever
https://github.com/LearnBoost/cluster
Geddy
Geddy
Geddy 是一个用于 NodeJS 的 web 开发框架,遵循 MVC,其目标是易用、模块化和高性能。
主要功能
- 强大、灵活的路由功能
- 简单易用,基于资源(resource-based)的路由
- 附有 app 和 resource 生成器
- 内容协商(Content-negotiation)
- session 支持
- 模板(EJS)、局部视图(partial)支持
- 完全的非阻塞
有兴趣的可以去看一下它的详细介绍,一回觉得 geddy 是一款非常不错的 web 开发框架,除了 express 开发者又多了一种选择。
Github 地址
node-dev
node-dev
node-dev 模块是一个开发工具,当你的 js 文件修改保存后,他会自动重启服务进程,嫌 CTRL + C / up / down 费劲的同学可以尝试用它减轻开发调试的烦恼。
另外它还支持桌面提醒

使用方法
node-dev --debug app.js
Github 地址
https://github.com/fgnass/node-dev
node_redis
node_redis
是为 NodeJS 而写的 Redis client,它支持所有 redis 命令。
使用方法
var redis = require("redis"),
client = redis.createClient();
client.on("error", function (err) {
console.log("Error " + err);
});
client.set("string key", "string val", redis.print);
client.hset("hash key", "hashtest 1", "some value", redis.print);
client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
client.hkeys("hash key", function (err, replies) {
console.log(replies.length + " replies:");
replies.forEach(function (reply, i) {
console.log(" " + i + ": " + reply);
});
client.quit();
});
Github 地址
html2jade
html2jade
html2jade 模块可以方便的转换现有的 HTML 到 Jade 格式。
目前仅支持 OS X 和 Linux 平台。
使用方法
抓取 URL 并转换源码
html2jade http://twitter.com // 会输出到终端控制台
html2jade http://twitter.com > twitter.jade // 输出到 twitter.jade 文件
转换现有 HTML 文件
html2jade mywebpage.html # 输出到 mywebpage.jade
html2jade public/*.html # 转换所有 .html 文件到 .jade
Github 地址
https://github.com/donpark/html2jade
node-canvas
node-canvas
NodeJS 的 Canvas 实现,基于 Cairo。可以像浏览器端一样做图片处理:
var Canvas = require('../lib/canvas')
, Image = Canvas.Image
, fs = require('fs');
var img = new Image;
img.onerror = function(err){
throw err;
};
img.onload = function(){
var w = img.width / 2
, h = img.height / 2
, canvas = new Canvas(w, h)
, ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, w, h, 0, 0, w, h);
var out = fs.createWriteStream(__dirname + '/crop.jpg');
var stream = canvas.createJPEGStream({
bufsize : 2048,
quality : 80
});
stream.pipe(out);
};
img.src = __dirname + '/images/squid.png';

Github 地址:
https://github.com/LearnBoost/node-canvas
xml2js
xml2js
xml2js 基于 sax-js模块,提供简单的 xml 到 JavaScript 对象的转换,如需解析 DOM ,jsdom更合适。
使用方法
var fs = require('fs'),
xml2js = require('xml2js');
var parser = new xml2js.Parser();
fs.readFile(__dirname + '/foo.xml', function(err, data) {
parser.parseString(data, function (err, result) {
console.dir(result);
console.log('Done');
});
});

Github 地址
https://github.com/Leonidas-from-XIV/node-xml2js
mailer
mailer
NodeJS 邮件发送模块,支持定制基于 Mustache 的模板正文。
使用方法
var email = require("../lib/node_mailer");
for(var i = 0; i < 10; i++){
email.send({
host : "localhost", // smtp server hostname
port : "25", // smtp server port
ssl: true, // for SSL support - REQUIRES NODE v0.3.x OR HIGHER
domain : "localhost", // domain used by client to identify itself to server
to : "marak.squires@gmail.com",
from : "obama@whitehouse.gov",
subject : "node_mailer test email",
body: "Hello! This is a test of the node_mailer.",
authentication : "login", // auth login is supported; anything else is no auth
username : "my_username", // username
password : "my_password" // password
},
function(err, result){
if(err){ console.log(err); }
});
}

Github 地址
https://github.com/Marak/node_mailer
Nide
Nide
Nide是一个基于Web的开源的Node.js IDE,在MIT License下开源,代码托管于GitHub。其设计思想是简单、易用。Nide最初是在一个叫做Node Knockout的48小时编程竞赛中开发产生的。
http://coreh.github.com/nide/
Nide当前具有的一些功能/特性:
- 项目树显示。
- 文件操作(创建/删除/重命名文件及文件夹,隐藏/显示隐藏文件)。
- 代码编辑语法高亮功能。
- OS X Lion风格的自动保存功能。
- OS X Lion风格的版本管理,具有恢复及同时进行多个编辑操作功能。
- 即时的项目树过滤(使用正则表达式)。
- 集成NPM(可显示当前已安装包,添加/移除包)。
- 类似TextMate的漂亮的界面。
- 可浏览Node.js文档。
jsdom
jsdom
W3C DOM 的 javascript 实现。
Github 地址:
http://github.com/tmpvar/jsdom/issues
Dox
Dox
兼容 Markdown, JSDoc 格式的文档生成器。
Github 地址:
https://github.com/visionmedia/dox
Jade
Jade
Jade 模板引擎,是 express 默认的模板引擎。
Github 地址:
https://github.com/visionmedia/jade
socket.io
socket.io
适合构建跨浏览器的实时应用,提供类似 WebSockets 的API。
官方网址:
uglify-js
uglify-js
Javascript 解析和压缩、格式化工具。
查看 CSSer 早期的翻译:
http://www.csser.com/board/4f3f516e38a5ebc978000509
npm
npm
NPM 即 Node Package Manage,是 NodeJS 模块管理工具,当前已经内置于 NodeJS 中,所以不需要特意安装了。
NPM 官方网址:
mongoosejs
mongoosejs
Mongoose 是 MongoDB 数据库的模型工具,为 NodeJS 设计,工作于异步环境下。
expressjs
expressjs
Express 是基于Node.js,高性能、一流的 web 开发框架。
Express JS 中文入门指引手册地址:
http://www.csser.com/tools/express-js/express-guide-reference-zh-CN.html
NodeJS 常用模块积累的更多相关文章
- NodeJS常用模块介绍
收集了NodeJS开发中常用的一些模块. MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站.Express框架建立在Nodejs内置的Ht ...
- nodejs常用模块
推荐的入门教程: <七天学会NodeJS> https://github.com/nqdeng/7-days-nodejs <Node.js 包教不包会> https://g ...
- NodeJS 常用模块
NodeJS 模块: n:NodeJS 版本管理/切换 参考: https://github.com/tj/n ExpressJS:Web 框架 参考: http://expressjs.com/ m ...
- nodejs常用模块之url
统一资源定位符(url)充当http服务器用来处理来自客户端的请求的一个地址标签.它为把一个请求发到正确的服务器的特定端口上,并访问合适的数据提供了所有需要的信息.
- nodeJs 常用模块(一)
url url.parse() querystring querystring.parse( [string] , [分隔符] ) ,解析为js字面量 querystring.stringify() ...
- Nodejs cluster模块深入探究
由表及里 HTTP服务器用于响应来自客户端的请求,当客户端请求数逐渐增大时服务端的处理机制有多种,如tomcat的多线程.nginx的事件循环等.而对于node而言,由于其也采用事件循环和异步I/O机 ...
- nodejs cluster模块初探
大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算.所以,为了使用多核cpu来提高性能 就有了cluster,让node可以利用多核CPU实现并行 ...
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
随机推荐
- Angular - 预加载 Angular 模块
Angular - 预加载延迟模块 在使用路由延迟加载中,我们介绍了如何使用模块来拆分应用,在访问到这个模块的时候, Angular 加载这个模块.但这需要一点时间.在用户第一次点击的时候,会有一点延 ...
- Java面向对象 其他对象
Java面向对象 其他对象 知识概要: (1)可变参数 (2)静态导入 (3)System (4)Runtime (5)Date Calendar (6)Math 本 ...
- java中重载变长参数方法
一.测试代码 package com.demo; public class Interview { public static void test(int i){ System.out.println ...
- 【Vue】浅谈Vue(一):从模板语法数据绑定、指令到计算属性
写在前面 今年前端届比较有意思,从大漠穷秋发表文章比较angular和vue,继而致歉vue作者.社区,从谷歌辞去Angular Developer PM in China一职并且呼吁大家停止各种无谓 ...
- DevOps之服务器
唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <服务器(Server)> DevOps之服务器划分为三部分:系统.虚拟化.器件. ...
- 通过VBA,当在EXCEL单元格中输入任意的日期格式时,都能自动转换为指定的标准格式的日期值
在日常录入EXCEL表格的单元格里 ,我们输入一些一般性的日期内容,如:2017-10-17 或 2017/10/17时,EXCEL会自动识别为日期并按单元格设计格式显示,单元格中存储的值也是日期格式 ...
- win10 UWP 标题栏后退
设置里,标题栏有后退按钮 在win平板,可以有后退键,手机也有 pc可以在标题栏 在OnLaunched //最后 Windows.UI.Core.SystemNavigationManager.Ge ...
- JAVA提高六:泛型
在面向对象编程语言中,多态算是一种泛化机制.例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性.此外,如果将方法参数声明为接口,将 ...
- Chrome等浏览器下出现net::ERR_BLOCKED_BY_CLIENT的解决办法
当我们在做开发时,调试页面图片会出现部分图片无法正常显示,并且确认图片的地址正确: 按F12 Debug查看报错原因,提示net::ERR_BLOCKED_BY_CLIENT错误,但当我们点击图片地址 ...
- 使用spark与MySQL进行数据交互的方法
在项目中,遇到一个场景是,需要从Hive数据仓库中拉取数据,进行过滤.裁剪或者聚合之后生成中间结果导入MySQL. 对于这样一个极其普通的离线计算场景,有多种技术选型可以实现.例如,sqoop,MR, ...