什么是Node.js?
- Node.js是一门后端语言
- 基于Chrome v8引擎的js运行环境
除此之外:还有其他的引擎: 单片机、actionscript - Node.js有两大特征
- 事件驱动
- 事件的定义(发布)
- 事件的触发(订阅)
- 非阻塞式 I/O 模型
- 非阻塞 : 执行一个任务时,不需要等待这个任务执行完成,就可以去执行其他任务
- I/O: 磁盘文件操作 / 数据库数据操作
- 事件驱动
总结:
问题: 非阻塞,但是js是单线程,要想实现非阻塞,必须将任务放到任务队列,任务队列如何放?
解决: js中异步操作
问题: js中如何实现异步操作
解决:
1. 回调函数 √
2. Promise
3. gengator函数
4. async函数
5. Node.js自带的 nextTick setImmediate
6. 别人封装的 async.js 库
Node.js的包管理器
NPM: 全球最大的开源生态系统( 国外的 )
cnpm 淘宝镜像( 国内的 )
yarn 流行
npm && yarn 全部要配置国内镜像 ( 百度关键字: yarn国内镜像 )
Node.js的版本问题
- Node.js有两个版本, 一个是测试版, 一个是稳定版,造成;两个版本的原因是: 有两个团队
- 业内规定:
- 版本的单数是: 测试版 bate版本
- 版本的偶数是: 稳定版
Node.js 安装
安装方式有两种:
- 官网下载镜像直接安装 ( 只能使用一个版本 )
- 使用 nvm 来安装 ( nvm可以管理多个Node.js版本 )
nvm有坑: nvm安装有难度
- nvm安装: https://github.com/coreybutler/nvm-windows/releases (下载第三个 nvm-setup.zip)
- nvm安装前先卸载本地的Node.js
- 问题: 如果报错 nvm命令没找到, 就是你的系统环境变量没有自动生成, 所以你要手动配置
右键电脑属性,高级系统设置,点开环境变量,找到里面的path点开,手动配置最后两个环境变量
3.修改settings.txt
C:\Users\windows\AppData\Roaming\nvm\settings.txt
在你安装的目录下找到settings.txt文件,打开后加上
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
4.通过nvm安装nodejs
nvm list查看目前已经安装的版本;
nvm install 版本号 安装指定的版本的nodejs;nvm install latest 安装最新的版本
nvm use 版本号 使用指定版本的nodejs
nvm ls 查看已经安装的nodejs版本
node -v 查看nodejs版本
代替npm的方式,cnpm,yarn
npm install -g cnpm --registry=https://registry.npm.taobao.org //使用淘宝镜像cnmp替代npm
npm install -g yarn//使用yarn替代npm
Node.js使用
- 命令终端使用
- 文件使用
1. 命令终端
- Node.js的全局对象是 global ; javascript的全局对象是 window
- 直接在命令终端中输入node,然后回车,就会出现 ‘>’ 标识,然后就可以写js语法了
- 命令终端退出: Ctrl + c 两次
-要使用lux命令(git):
vscode打开设置,查找git,打开setting.json在后面添加
“terminal.integrated.shell.windows”: “D:\Git\bin\bash.exe”
路径名写自己Git\bin\bash.exe所在的路径,两条斜杠
2. 文件型使用
-
命令行键盘 tab 键 自动补全文件名称
-
执行文件/运行文件:
$ node 文件名称.js
-
自动监听node.js文件/ 自动刷新工具
- nodemon √
- supervisor //容易出现问题,一般使用nodemon
-
自动监听工具的安装
- npm
$ npm install nodemon -g
$ npm install supervisor -g
- cnpm
$ cnpm install nodemon -g
$ cnpm install supervisor -g
- yarn
$ yarn add nodemon global
$ yarn add supervisor global
- npm