[官方文档]
http://nodejs.cn/api/
http://www.runoob.com/nodejs/nodejs-tutorial.html
ECMAScript 6入门 http://es6.ruanyifeng.com/
国内的nodejs社区网站 https://cnodejs.org/
入门 https://github.com/nswbmw/N-blog
这个更易入门 https://github.com/alsotang/node-lessons
背景知识
nvm
https://github.com/creationix/nvm
nvm 的全称是 Node Version Manager,之所以需要这个工具,是因为 Node.js 的各种特性都没有稳定下来,所以我们经常由于老项目或尝新的原因,需要切换各种版本。
安装完成后,你的 shell 里面应该就有个 nvm 命令了,调用它试试
npm
包管理器Node.js Package Manager
PHP用Composer
Python用easy_install或pip
Ruby用gem
Node.js用npm
Node.js的依赖是以项目为单位进行管理的
搭环境
MacOS
先装一个nvm
# 安装前读读README,安装最新版本
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
# 安装完成后,你的 shell 里面应该就有个 nvm 命令了,调用它试试
nvm
# 很可能会出现如下情况
-bash: nvm: command not found
# 执行一下这个命令就好了
source ~/.bashrc
https://nodejs.org/en/download/
源码安装Node.js
-
下载node-v6.10.0-darwin-64.tar.gz
-
解压源码
tar -zxvf node-v6.10.0-darwin-64.tar.gz
-
编译安装
cd node node-v6.10.0-darwin-64 ./configure --prefix=/usr/local/node/v6.10.0 make make install
-
配置NODE_HOME
vim /etc/profile #设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容: #set for nodejs export NODE_HOME=/usr/local/node/v6.10.0 export PATH=$NODE_HOME/bin:$PATH #:wq保存并退出,编译/etc/profile 使配置生效 source /etc/profile
-
验证安装
node -v #输出 v6.10.0 表示配置成功 #npm模块安装路径 /usr/local/node/v6.10.0/lib/node_modules/
二进制包安装Node.js
-
下载node-v6.10.0.pkg
-
一路点下去
#默认安装路径 /usr/local/bin/node /usr/local/bin/npm
nvm安装Node.js
# 先确定一下node.js最新稳定版本
# https://nodejs.org/en/download/
nvm install v6.10.1
# 安装完,可用nvm查看一下
nvm ls
# 可以选择使用哪个版本
nvm user v6.10.1
模块
express
express 是 Node.js 应用最广泛的 web 框架,现在是 4.x 版本,它非常薄
官网:http://expressjs.com/
superagent
抓取网页
superagent(http://visionmedia.github.io/superagent/ ) 是个 http 方面的库,可以发起 get 或 post 请求。
cheerio
分析网页
可以理解成Node.js版的jquery,用来以css selector取数据
eventproxy
并发控制
browserify
安装
npm install -g browserify
Demo
alsotang/lesson1
# 当在浏览器中访问 http://localhost:3000/ 时,输出 Hello World。
mkdir lesson1 && cd lesson1
# 这里没有从官方 npm 安装,而是使用了大淘宝的 npm 镜像
npm install express --registry=https://registry.npm.taobao.org
# 安装后,可执行如下两个命令查看一下
ls node_modules
npm list
# 编写代码,代码在git
touch app.js
# 执行
node app.js
alsotang/lesson2
# 当在浏览器中访问 http://localhost:3000/?q=alsotang时,输出alsotang的md5与sha1
mkdir lesson2 && cd lesson2
# 初始化,生成package.json
npm init
# 安装依赖
npm install express utility --save
# 写代码
vi app.js
创建一个项目的过程
- 新建一个文件夹并进入
npm init
- 安装依赖
npm install --save
依赖名 - 编写逻辑代码
alsotang/lesson3
# 当在浏览器中访问 http://localhost:3000/ 时,输出 CNode(https://cnodejs.org/ ) 社区首页的所有帖子标题和链接,以 json 的形式(输出包括主题的作者)
npm install --save express superagent cheerio
alsotang/lesson4
# 输出 CNode(https://cnodejs.org/ ) 社区首页的所有主题的标题,链接和第一条评论,以 json 的格式。
# 以上文目标为基础,输出 comment1 的作者,以及他在 cnode 社区的积分值。
# 每页显示40篇,每篇再请求1个评论,so,每页请求1+40
网友评论