文章目录
一、Node简介
Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。
Node.js主要用于编写像Web服务器一样的网络应用。
官网地址:https://nodejs.org/en/
中文官网:http://nodejs.cn/
1.前端与后台
HTML、css、js,在用户端都是属于前端的部分。前端的作用:第一反应给用户想不想进一步接触 。
如果一个网站性能到底好不好,有时候是取决于后端的。
2.学习Node的目的
了解前后端交互流程。学习后端是如何运转的。
地址?key=value
3.为什么选择Node
Node是后端语言的平台 。php、java、python、C#。
它基于Ecmascript的语言。我们只需要学习后端思想即可。 JavaScript is everwhere。
4.Node的特点
把chrome的 V8引擎给拿出来的。
单线程:对标多线线程 。 因为js是单线程的。线程死了,程序也就死了。但是这些都不叫事。
事件循环机制:
任务 + 事件完成机制 =》 接下来要干什么 。
异步非阻塞
node是异步非阻塞的,速度是非常快。
5.Node适合的场景
写接口、写动态网站 、即时通信。
二、Node安装
1.下载与安装
下载地址:http://nodejs.cn/download/
V14只能是win10及以上。
https://npm.taobao.org/mirrors/node/ v12
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4E376bc2-1616420739743)(img\image-20210318094706950.png)]
X64 : 64位
X86:32位
2.常见cmd操作
命令行操作。
如何打开命令行:
第1种、window + r => cmd : 路径是以你管理用户名为目录
第2种、开始 => 搜索 cmd : 路径是以你管理用户名为目录
第3种、文件夹地址栏 => cmd : 执行命令路径就是 当前文件夹的目录
dir:查看当前目录的内容
cls:清屏
cd:修改目录 -》 cd 目录名 cd 命令要结合使用 tab键:快速补全。
↑↓:快速调出最近命令
如果进入node环境,按两次ctrl+c退出 。
//创建文件夹、创建文件、删除文件: cmd常用命令。 cmd关机命令: shutdown
作用:
1、可以执行系统自带的命令
2、执行一些可执行程序: .exe、.cmd
在cmd中输入 notepad、mspaint可以打开对应的记事本、画面 程序。
但是 输入vscode不行。:vscode不是内部命令,也不是可执行程序 。
notepad、mspaint 在环境变量中是已经存储的。而我们后期安装的没有记录。
node可以在cmd运行。
3.环境变量
如果以后 出现 xxxx 不是内部命令,也不是可执行程序 ,两种情况:要么就是没安装此程序,要么就是环境变量出了问题。
配置环境变量:
右键计算机-》属性-》高级系统设置-》环境变量-》系统变量-》path-》复制出来所有的值
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Program Files (x86)\Tencent\WeChat
;C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Administrator\AppData\Roaming\npm
修改完毕,重启cmd
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nKHwArQ9-1616420739747)(img\image-20210318102602330.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IoQzTNjD-1616420739749)(img\1-7环境变量win10.png)]
三、Node运行与顶层对象
1.Node的运行
代码示例:
2.顶层对象
在浏览器 JavaScript 中,通常 window是顶层对象,而 Node.js 中的顶层对象是 global
代码示例:
3.全局变量
Node平台内置了例如:__filename
和 __dirname
等全局变量 setInterval() setTimeout()等方法
代码示例:
四、Buffer
Buffer类是随Node.js内核一起发布的核心库
Buffer的结构和数组很像、但Buffer就是专门用来存储二进制数据
1.常见进制简述
二进制、八进制、十进制、十六进制…
2.Buffer的常见操作
2.1基本使用
代码案例:
2.2常见方法
代码案例:
五、模块系统
在Node.js中,一个js文件就称之为一个模块(Module)。
1.模块概述
简述优势
2.模块的分类
在Node中,模块分为两类:一类是Node提供的模块,称为核心模块;另一类是用户编写的模块,称为文件模块。
2.1 内置模块/核心模块
代码示例:
2.2 文件模块
文件模块常见的有:自定义模块、第三方模块
代码示例:
2.3 模块加载机制和Commonjs简述
六、包和npm
1.包的概念:
在Nodejs中包由由包结构和包描述文件两个部分组成.
包结构:用于组织包中的各种文件,例如:源代码文件、资源文件
包描述文件:描述包的相关信息,例如:package.json、bin、lib等文件
2.npm
npm是随着Nodejs一起安装的一个包管理工具。
3.npm常见命令
示例:
4.package.json文件详解
代码示例:
5.淘宝镜像
1)全局安装cnpm工具( 我们npm工具如何使用的,cnpm一模一样 )
npm install -g cnpm --registry=https://registry.npm.taobao.org
2)配置npm命令的源:
npm config set registry https://registry.npm.taobao.org