1、Node开发概述
1.1 为什么要学习服务器端开发基础
- 能够和后端程序员更加紧密的配合。
- 网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax)。
- 扩宽知识视野,能够站在更高的角度审视整个项目。
1.2 服务器端开发要做的事情
- 实现网站的业务逻辑。
- 数据的增删改查。
1.3 为什么选择Node
- 可以使用 JavaScript 语法开发后端应用。
- 一些公司要求前端工程师掌握 Node 开发。
- 生态系统活跃,有大量开源库可以使用。
- 前端开发工具大多基于 Node 开发。
1.4 Node是什么
Node
是一个基于 Chrome V8 引擎的 JavaScript 代码运行环境。
运行环境:
- 浏览器(软件)能够运行 JavaScript 代码,浏览器就是 JavaScript 代码的运行环境。
- Node(软件)能够运行 JavaScript 代码,Node 就是 JavaScript 代码的运行环境。
2、Node.js快速入门
2.1 Node.js 的组成
- JavaScript 由三部分组成,
ECMAScript,DOM,BOM
。 - Node.js 是由
ECMAScript
及Node 环境
提供的一些附加 API
组成的,包括文件、网络、路径等等一些更加强大的 API。
2.2 Node.js基础语法
所有 ECMAScript 语法在 Node 环境中都可以使用。
在 Node 环境下执行代码,使用 Node 命令执行后缀为 .js
的文件即可。
2.3 Node.js 全局对象 global
全局作用域下的变量就是全局对象下的属性,全局对象下的函数就是全局对象下的方法,可以使用全局对象来访问。
在浏览器中全局对象是 window
,在 Node
中全局对象是 global
。
二者的区别:
(1)node.js:global
在交互模式下,声明的变量和创建的函数都属于全局下的,可以使用 global 来访问
例如:var a=1; 可以用 global.a 访问。
在脚本模式下,声明的变量和创建的函数都不属于全局下的,一个文件默认会取去创建一个独立的作用域,叫做文件(模块)作用域,可以防止污染全局。
(2)JS:window
在浏览器下,文件中声明的变量和函数都属于是全局作用域下的,会污染全局。用 window 来访问 。
例如:var a=1; 可以用 winodw.a 访问。
Node 中全局对象下有以下方法,可以在任何地方使用,global 可以省略。
console.log()
在控制台中输出setTimeout()
设置超时定时器clearTimeout()
清除超时时定时器setInterval()
设置间歇定时器clearInterval()
清除间歇定时器
2.3.1 console 对象——控制台
方法 | 描述 |
---|---|
global.console.log() | 在控制台中输出,打印日志 |
global.console.info() | 打印消息 |
global.console.warn() | 打印自定义警告 |
global.console.error() | 打印自定义错误 |
global.console.time('字符串') | 开始计时 |
global.console.timeEnd('字符串') | 结束计时,自定义字符串前后保存一致 |
2.3.2 process对象——进程
属性或方法 | 描述 |
---|---|
process.arch | 查看当前CPU架构 |
process.platform | 查看当前的操作系统 |
process.env | 查看当前计算机的环境变量 |
process.version | 查看当前node.js的版本号 |
process.pid | 查看当前的进程编号 |
process.kill() | 结束某个编号的进程 |
2.3.3 Buffer对象——缓冲区
一块用于临时存储数据的内存区域,可以存储文件数据、网络上传输的资源(视频直播网页等).
创建 Buffer: var buf=Buffer.alloc(5,'abcde')
将 Buffer 数据转为字符串: buf.toString()