1.Hello World
1.1安装:nodejs
Mac系统上的安装:
brew install node
如果报错
Linking /usr/local/Cellar/node/0.10.32...
Error: Could not symlink include/node/ares.h
/usr/local/include/node is not writable.
则执行:
sudo chown -R `whoami` /usr/local/include/node
如果npm安装不成功
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall node`
执行
sudo brew postinstall node
2.模块(Module)
node包管理npm,
配置国内npm镜像:
- 1.通过config命令
npm config set registry https://registry.npm.taobao.org
npm info underscore (如果上面配置正确这个命令会有字符串response)
- 2.命令行指定
npm --registry https://registry.npm.taobao.org
npm info underscore
- 3.编辑~/.npmrc
加入下面内容
registry = https://registry.npm.taobao.org
或者搜索镜像: https://npm.taobao.org
2.1系统模块
2.2 第三方模块
Supervisor 监测node程序中的文件,当有文件发生变化时会重启服务;
2.3 创建自定义模块
3.异步
默认是异步,每个异步方法都对应的同步方法:
例如:readFile()
的同步方法是readFileSync()
4.事件
引入事件模块require('events')
创建事件em.on('my-event ',function(data){});
触发事件em.emit('my-event');
例如:
var events = require('events');
var em = new events.EventEmitter();
var counter = 0;
//每2秒发出一个事件
var timer = setInterval(function(){
em.emit('tick');
},2000);
em.on('tick',function(data){
counter++;
console.log(counter % 2 ? 'Tick' : 'Tock');
});
5.子进程
引入chile_process
6.框架Express
sudo npm install -g express-generator
原先的express带cli, 现在把cli拆成了单独的express-generator包. 原先的express运行生成的项目是node app.js, 因为httpserver相关代码都在app.js里, 现在这部分代码移到了项目目录的bin/www下面, app.js只保留实现app的逻辑代码, 你需要去运行那个bin/www。 只是很单纯的细化应用和包依赖的版本变更。
安装express 项目,express 会创建好脚手架
express --css less
安装依赖
cd . && npm install
启动app
DEBUG=LearnNodejs:* npm start