nodejs语法是基于JavaScript的,所以要学习nodejs需要拥有基本的JavaScript使用经验。

安装nodejs

  1. 搜索nodejs官网
  2. 下载nodejs,大家下载稳定版本(LTS: Long Term Support )。安装一直点下一步即可。
    下载nodejs
  3. 在cmd里运行node -vnpm -v验证nodejs安装成功。
    验证nodejs安装成功
    验证安装成功就代表了:1.程序安装成功。2.环境变量(PATH) 设置正确。

其它nodejs教程

 相关书籍与网上的教程有很多,我就不重复,大家花时间去学习(大约一到两个星期左右能入门),后面我补充一些相关内容。

《深入浅出Node.js》- 朴灵
菜鸟教程
廖雪峰教程
《七天学会NodeJS》
《Node.js 包教不包会》

nodejs入门

搭建最简TCP服务器

 先简单地了解一下TCP/IP协议基础,至少先学会怎么使用网络调试助手。这里,我简单地写一个tcp服务器端脚本nodejs HTTP-API中文文档,再使用网络调试助手充当客户端连接服务器进行通信:(源码可在github上的base/tcp里找到)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// 导入net模块:
const net = require('net')
const PORT = "9001"
//创建服务器对象
const server = net.createServer((socket)=>{
//connect
let addr = socket.address().address + ':' + socket.address().port
let welcome = addr + ' connected.\n'
socket.write(welcome, 'ascii')

// recieve data
socket.on("data",data=>{
let str = addr+" receive: " + data.toString('ascii') + '\n'
console.log(str)
socket.write(str, 'ascii')
})

// close
socket.on('close',()=>{
console.log(addr,"close")
})

socket.on('error',(err)=>{
console.log("error",err)
})
})

server.on("error",(err)=>{
console.log(err)
})

//开启监听
server.listen({port: PORT,host: '0.0.0.0'}, () => {
console.log('tcp1 server running on', server.address())
})

搭建最简HTTP服务器

 之前在HTML、CSS、JS基础里所编写的网页,都是以本地打开文件的方式运行,并不是通过HTTP协议访问网页。HTTP协议基础
 现在我们做一个最简单的HTTP服务器,以下代码从廖雪峰教程搬运过来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 导入http模块:
var http = require('http');

// 创建http server,并传入回调函数:
var server = http.createServer(function (request, response) {
// 回调函数接收request和response对象,
// 获得HTTP请求的method和url:
console.log(request.method + ': ' + request.url);
// 将HTTP响应200写入response, 同时设置Content-Type: text/html:
response.writeHead(200, {'Content-Type': 'text/html'});
// 将HTTP响应的HTML内容写入response:
response.end('<h1>Hello world!</h1>');
});

// 让服务器监听8080端口:
server.listen(8080);
console.log('Server is running at http://127.0.0.1:8080/');

 将代码使用nodejs启动起来,就是一个最简单的HTTP服务器。nodejs启动脚本的方法是node + 脚本名称:(示例node index.js

nodejs HTTP-API中文文档。注意了,与本地直接打开网页不同,网址栏是http开头的。(本地直接打开的是file开头)。这时,你可以使用手机连接到同一个WIFI里,找到电脑的IP地址,输入网址就可以访问到网页。

作业

  1. 搜索并搞懂JS事件回调,nodejs的使用error first回调风格的原因。
  2. 搜索并学习如何打断点调试自己的nodejs程序。
  3. 学习ES6语法。
  4. 学习Express框架,学习pug模板(旧版叫jade,搜索这个名字能找到比较多的教程),我时常使用工具将HTML转成jade。

下一节