Bootstrap

【Web前端学习之路】 Node.js 初识 (黑马课程笔记)

前情提要: JavaScript 要在 Node.js 运行环境中 才可以做后端开发

Node.js 的官网地址: http://nodejs.org/zh-cn/

1、 什么是 Node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

浏览器是 JavaScript 的前端运行环境

Node.js 是 JavaScript 的后端运行环境

③ Node.js 中无法调用 DOM 和 BOM 等浏览器内置 API

 Node.js 的学习路径

JavaScript 基础语法 + Node.js 内置 API 模块(fs、path、http等)+ 第三方 API 模块(express、mysql等)

2、fs 文件系统模块

fs 模块是 Node.js 官方提供的,用来操作文件的模块,它提供了一系列的属性和方法,用来满足用户对文件的操作需求。

在 JavaScript 代码中,若想使用 fs 模块来操作文件,则需先导入

fs  是下载了Node.js后自带的

  • fs.readFile(path [,options], callback) 方法:用来读取指定文件中的内容

参数1:必选参数,表示文件路径

参数2:可选参数,表示以什么编码格式来读取文件

参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果

  • fs.writeFile(file, data, [option], callback) 方法:用来向指定文件写入内容

参数1:必选参数,表示文件存放路径

参数2:表示要存放的内容

参数3:可选参数,表示以什么编码格式来读取文件

参数4:必选参数,回调函数

fs模块 - 路径动态拼接的问题

在使用 fs 模块操作文件时,如果提供的操作路径是以 ./或 ../ 开头的相对路径则很容易出现路径动态拼接错误;而若使用绝对路径,又太过繁琐,且不易维护、移植性差

故使用 __dirname (双下划线)表示当前文件所处的目录

3、path 路径模块

path 模块是用来处理路径的模块,提供了一系列的属性和方法满足对路径的处理需求。

  • path.join ([..paths]) 方法,用来将多个路径片段拼接成一个完成的路径字符串

参数个数不定,可以为任意多个路径片段

  • path.basename (文件存放路径,[文件扩展名]) 方法,将文件名从路径字符串中解析出来

如果写了第二个参数,则只会返回文件名(没有扩展名)

  • path.extname(文件存放路径)方法:获取路径中的扩展名

4、HTTP模块

在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑,叫做服务器。

http 模块是 Node.js 官方提供的,用来创建web服务器的模块。通过 http 模块提供的 http.creatServer() 方法,就能方便的把一台普通电脑变成一台Web服务器,从而对外提供Web资源服务。

4.1  服务器相关的概念-----IP地址

IP 地址就是互联网上每一台计算机的唯一地址,因此 IP 地址具有唯一性。只有在知道 IP 地址的前提下,才能与对方进行数据通信。

4.2  域名和域名服务器

虽然 IP 地址可以唯一标识计算机,但是它不便于记忆,故人们又发明了一套字符型的地址方案,即域名地址。

IP 地址和域名是一一对应的关系,这份关系存放在域名服务器(DNS,Domain name server)的电脑中。使用者则可以只记忆字符型域名便可以找到对应的服务器,其中域名和IP地址的转化工作交给DNS。

4.3  端口号

在一台电脑中,可以运行成百上千个 web 服务,每个web服务都对应一个唯一的端口号,客户端发送过来的网络请求通过端口号可以准确地交给对应的web服务进行处理。

注意:① 每个端口号不能同时被多个web服务占用

           ② 在实际应用中,URL中的80端口可以被省略

4.4  创建 web 服务器的基本步骤

1、导入 http 模块

2、创建 web 服务器实例

3、给服务器实例绑定 request 事件,监听客户端的请求

4、启动服务器,确定端口

 req 请求对象:当服务器接收到了客户端的请求,就会调用通过 server.on() 为服务器绑定的request事件处理函数,回调函数的参数中可以写上 req 请求对象,它包含了客户端相关的数据或属性

 res  响应对象:包含了服务器相关了数据和类型。

;