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 地址

https://github.com/mde/geddy


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 地址

https://github.com/mranney/node_redis


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。

官方网址:

http://socket.io/


uglify-js

uglify-js

Javascript 解析和压缩、格式化工具。

查看 CSSer 早期的翻译:

http://www.csser.com/board/4f3f516e38a5ebc978000509


npm

npm

NPM 即 Node Package Manage,是 NodeJS 模块管理工具,当前已经内置于 NodeJS 中,所以不需要特意安装了。

NPM 官方网址:

http://npmjs.org/


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 常用模块积累的更多相关文章

  1. NodeJS常用模块介绍

    收集了NodeJS开发中常用的一些模块. MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站.Express框架建立在Nodejs内置的Ht ...

  2. nodejs常用模块

    推荐的入门教程: <七天学会NodeJS>  https://github.com/nqdeng/7-days-nodejs <Node.js 包教不包会> https://g ...

  3. NodeJS 常用模块

    NodeJS 模块: n:NodeJS 版本管理/切换 参考: https://github.com/tj/n ExpressJS:Web 框架 参考: http://expressjs.com/ m ...

  4. nodejs常用模块之url

    统一资源定位符(url)充当http服务器用来处理来自客户端的请求的一个地址标签.它为把一个请求发到正确的服务器的特定端口上,并访问合适的数据提供了所有需要的信息.

  5. nodeJs 常用模块(一)

    url url.parse() querystring querystring.parse( [string] , [分隔符] )  ,解析为js字面量 querystring.stringify() ...

  6. Nodejs cluster模块深入探究

    由表及里 HTTP服务器用于响应来自客户端的请求,当客户端请求数逐渐增大时服务端的处理机制有多种,如tomcat的多线程.nginx的事件循环等.而对于node而言,由于其也采用事件循环和异步I/O机 ...

  7. nodejs cluster模块初探

    大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算.所以,为了使用多核cpu来提高性能 就有了cluster,让node可以利用多核CPU实现并行 ...

  8. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  9. 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块

    五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options]    -v,--verbose  ...

随机推荐

  1. python的urlparse

    urlparse主要是URL的分解和拼接,分析出URL中的各项参数,可以被其他的URL使用. 主要的函数有: 1.urlparse 将URL分解为6个片段,返回一个元组,包括协议.基地址.相对地址等等 ...

  2. 浅谈Java多态

    什么是Java中的多态?又是一个纸老虎的概念,老套路,把它具体化,细分化,先想三个问题(注意,这里不是简单的化整为零,而是要建立在学习一个新概念时的思考框架): 1.这个东西有什么用?用来干什么的?它 ...

  3. Mysql数据库导出数据字典文档Word或者HTML的3个工具

    最近需要将Mysql的数据库导出一份Word的文档出来,本文记录调研后几个可用的工具和方法: 阿里云DMS工具导出 适用于存储在阿里云RDS服务中的Mysql数据库 导出格式支持:Word.Excel ...

  4. 简易js模板引擎

    前面 js 模板引擎有很多很多,我以前经常用 art-template ,有时候也会拿 vue 来当模板引擎用. 直到...... 年初的时候,我还在上个项目组,那时候代码规范是未经允许不能使用 [外 ...

  5. OpenSCAD 建模:相框

    下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/PhotoFrame 代码: module bottom(){ dif ...

  6. mybatis逆向工程

    一.背景 在实际开发中我们会自己去写mapper映射文件,接口,数据库表对应的实体类,如果需求任务比较少,咱们还可以慢慢的一个一个去写,但是这是不现实的,因为在工作中我们的任务是很多的,这时mybat ...

  7. 学web前端开发写给新手的建议,超实用!

    01 前面的话 如今我们使用的互联网,客户端与服务器端的交互无时无刻不在发生.比如我们在浏览器打开网页,浏览器就是客户端,将网页数据发过来的也就是服务器.其实服务器,并没有什么特别的,也就是一台昼夜不 ...

  8. Java基础总结--面向对象1

    ---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...

  9. 相对定位的div没有出现纵向滚动条

    在一个相对定位的div中绝对定位很多html元素,纵向没有滚动条出现.原因:我们期望作为原点的点在窗口原点的下方,但是滚动条以窗口原点作为原点,所以没有出现滚动条.解决:在div外面再套一个div,o ...

  10. asp.net 第三方UI控件 Telerik KendoUI 之 TreeVIew 的用法记录

    一.前台显示 备注:一次性取出所有节点 function loadTreeData() { $.ajax({ type: 'POST', url: '@(Html.UrlHref("Scri ...