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 地址
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
转载于:https://www.cnblogs.com/hzcsz/p/7384104.html
NodeJS 常用模块积累相关推荐
- NodeJS常用模块介绍
收集了NodeJS开发中常用的一些模块. MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站.Express框架建立在Nodejs内置的Ht ...
- nodejs常用模块-url
URL nodejs中针对url的常用方法. node下打印url,结果: 引入url模块 var url = require('url') 1.parse方法 将url解析成对象,parse方法原型 ...
- NodeJS 常用模块推荐
cluster&forever cluster & forever 虽然 nodejs 原生已经提供了 cluster 模块,大部分情况下可以满足我们的基本需求,但这两个模块 clus ...
- 带你一起撸一遍 nodejs 常用核心模块(二)
前沿:核心模块二主要是和流相关的部分,当然要想给这一块有清楚的了解,你需要对核心模块(一)中的内容有一些了解. fs模块 fs模块的常见方法(所有的读方法,文件必须存在,不存在就会报错,所有的写方法, ...
- js foreach用法_使用 nodejs 写爬虫(一): 常用模块和 js 语法
本篇是使用 nodejs 写爬虫系列教程的第一篇, 介绍了使用 nodejs 写爬虫过程中常用的模块和一些必须掌握的 js 语法 <!-- more --> 常用模块 常用模块有以下几个: ...
- nodejs常用核心模块介绍
Node核心模块之HTTP模块 作用:处理客户端的网络请求代码步骤:1.导入 HTTP 核心模块2.监听客户端的请求3.处理客户端的请求4.开启服务器 Node核心模块之URL模块 作用:处理客户端请 ...
- Nodejs cluster模块深入探究
可以收藏我的博客 由表及里 HTTP服务器用于响应来自客户端的请求,当客户端请求数逐渐增大时服务端的处理机制有多种,如tomcat的多线程.nginx的事件循环等.而对于node而言,由于其也采用事件 ...
- python3常用模块_Python学习笔记三(常用模块)
Python 学习笔记三 (常用模块) 1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称( ...
- web常用模块的测试用例
一些常用模块的测试用例 1.登录 2.添加 3.查询 4.删除 1.登录 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格式上 ...
- web常用模块测试用例
一些常用模块的测试用例 1.登录 2.添加 3.查询 4.删除 1.登录 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格 ...
最新文章
- Centos7安装Elasticsearch
- 中国云计算厂商营收排名:阿里云完虐微软
- System V IPC
- Dart 2为移动开发做出改进
- 手机网页css字体,CSS深入浅出-动态REM(手机专用)
- adminLTE 教程 -4 轮播控件
- lvm的备份还原及修改UUID
- Java 8 - 收集器Collectors_实战
- 直接拿来用!VS Code 最强插件指南
- bzoj1791: [Ioi2008]Island 岛屿 单调队列优化dp
- 开源 java CMS - FreeCMS2.6 Web页面信息采集
- 897. 递增顺序查找树-未解决
- WPF xml配置文件里面的大于小于号转义
- 数据库审计产品购买者指南
- python 模拟浏览器selenium_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...
- SCI 投稿Cover letter模板大全
- 为什么每个阿里新人都要上“百阿”?
- Excel Rate 函数的java 实现,等额本息计算反推利率
- 怎么用dos命令打开计算机,如何使用DOS命令打开C盘下的文件夹dos如何打开文件夹...
- 互联网快讯:粉笔科技双轨并进未来可期;猿辅导优质教学获赞赏;网红奶茶古茗被罚
热门文章
- Linux学习笔记(一):Win10上用VMware虚拟机安装Linux-CentOS
- 量子计算机钻石,科学家在钻石内构建量子计算机
- java后台生成分页_Java实现分页的前台页面和后台代码
- Selenium Automated test 02 - Open browser
- Dart基础第7篇:函数的定义 可选参数 默认参数 命名参数
- Dart基础第6篇:集合类型List Set Map详解 以及循环语句 forEach map where any every
- L1-019 谁先倒 (15 分) — 团体程序设计天梯赛
- 关于TP遇到的问题点和解决办法
- HDMI热插拔检测原理
- 007---多态与多态性