NodeJS 学习笔记

CommonJS、CMD、AMD、Node.js与JavaScript

CMD是国内玉伯大神在开发SeaJS的时候提出来的,属于CommonJS的一种规范,此外还有AMD,其对于的框架是RequireJS:
1、二者都是异步模块定义(Asynchronuous Module Definition)的一个实现;
2、CMD和AMD都是CommonJS的一种规范的实现定义,RequireJS和SeaJS是对应的实践;
3、CMD和AMD的区别:CMD相当于按需加载,定义一个模块的时候不需要立即制定依赖模块,在需要的时候require就可以了,比较方便;而AMD则相反,定义模块的时候需要制定依赖模块,并以形参的方式引入factory中。

//AMD方式定义模块
define(['dep1','dep2'],function(dep1,dep2){
     //内部只能使用制定的模块
      return function(){};
});
//CMD
define(function(require,exports,module){
   //此处如果需要某XX模块,可以引入
   var xx=require('XX');
});

4、JavaScript语言是弱结构性的,通过CommonJS定义一些规范,CMD和AMD得定义模块的方式对代码进行管理,使得更易维护;此外,NodeJS的诞生,对模块的规范定义,和包(npm)的概念的引入,让JS管理不再困难,一个字,爽爆了!


一、常用的Module

node开发中用到的模块,记下

utility A collection of useful utilities.

bcrypt A bcrypt library for NodeJS.

node-uuid 生成uuid的模块

eventproxy An implementation of task/event based asynchronous pattern.

nodemailer Easy as cake e-mail sending from your Node.js applications
nodemailer-smtp-transport (nodemailer1.0以上需要此辅助)https://github.com/andris9/nodemailer-smtp-transport

moment Parse, validate, manipulate, and display dates

node-inspector Web Inspector based nodeJS debugger

connect-mongodb mongodb session store for connect

cookie-parser cookie parsing with signatures

express-session Simple session middleware for Express

body-parser Node.js body parsing middleware

lodash 由Underscore.js演变成的好用工具

connect-multiparty multipart parsing middleware for connect using multiparty

grunt-mocha-test 【单元测试】A grunt task for running server side mocha tests

mocha JavaScript测试框架

chai should、expect等BDD测试

sequelize Sequelize is an easy-to-use multi sql dialect ORM for Node.js & io.js. It currently supports MySQL, MariaDB, SQLite, PostgreSQL and MSSQL.——github

node-schedule A cron-like and not-cron-like job scheduler for Node.——github

superagent Ajax with less suck - (and node.js HTTP client to match) ——github

morgan HTTP request logger middleware for node.js ——github

serve-favicon favicon serving middleware ——github

cheerio Fast, flexible, and lean implementation of core jQuery designed specifically for the server. ——github


二、Grunt集成自动重启

1、安装grunt环境: npm install grunt -gnpm install grunt-cli -g
2、安装 npm install grunt-contrib-watch --save-dev
3、安装 npm grunt-concurrent --save-dev
4、安装 npm grunt-contrib-watch --save-dev
5、安装 npm grunt-nodemon --save-dev
(–save-dev会将该模块信息保存到package.json里边)
Nodemon和Grunt-Contrib-Watch: 有什么不同?

推荐文章