Node.js 入门
node.js有两个版本: 开发版(左侧) / 修订版(右侧)
-
修订版中修改的就是开发版中的bug
-
开发版分为两类:稳定版(偶数) / 测试版(奇数)
电脑: 配置还行:最新版
tc:
6.2-8.9
1.什么是node.js?
1.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
2.Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
I/O是指磁盘文件系统或者数据库的写入和读出,其中听到一些名词像异步,非阻塞,同步,阻塞之间好像是同一回事,实际效果而言又好像真的就是同一回事,但是从计算机内核I/O来説真不是同一回事,为了更加全面讲解这个点,我们可以把它们都列出来,分别是:
阻塞I/O(blocking I/O): 在I/O操作的完成或数据的返回之前会阻塞著进程执行其他操作,直到得到结果为止;
例子: 调用一个进行I/O操作的API请求时(如读写操作),一定要等待系统内核层面完成所有操作如磁盘寻道,读取数据,复製数据到内存等等;
缺点: 阻塞造成CPU无谓的等待没法充分应用;
非阻塞I/O(non-blocking I/O): 不等待I/O操作的完成或数据的返回就立即返回让进程继续执行其他操作;
例子: 调用一个进行I/O操作的API请求时(如读写操作),不等待系统内核层面完成所有操作如磁盘寻道,读取数据,复製数据到内存等等就返回;
优点: 提高性能减少等待时间;
缺点: 返回的仅仅是当前调用状态,想要获取完整数据需要重复去请求判断操作是否完成造成CPU损耗,基本方法就是轮询;
3.Node.js 的包管理器 npm,是全球最大的开源库生态系统。
4.Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,
如:- 文件的读写 - 进程的管理 - 网络通信 - ……
2.node.js 下载安装
使用nvm来安装并维护多个Node.js的版本
windows安装: https://github.com/coreybutler/nvm-windowshttp://blog.csdn.net/tyro_java/article/details/51232458
2、配置加速镜像: export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
1. 如果你使用了 nvm -noinstall.zip 将您的压缩包解压在:C:\Users\45795\AppData\Roaming
2. 建议使用第二种方式: nvm-setup.zip (界面ui安装)
3.
nvm,node,npm之间的区别
1. nvm的官方叫法:nodejs版本管理工具。
nvm相当于是家长,一个家长可以管理多个孩子。
也就是说:一个nvm可以管理很多node版本和npm版本。
2.nodejs
在项目开发时所需要的代码库
3.npm
在安装的nodejs的时候,npm也会跟着一起安装,它是包管理工具。
npm管理nodejs中的第三方插件
总结:nvm是爸爸,管理nodejs和npm这一对双胞胎兄弟。npm是哥哥,npm哥哥可以管理node弟弟的东西
4.nvm安装
Mac下:
sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
5.nvm常用命令
Mac下:
nvm --help 显示所有信息nvm --version 显示当前安装的nvm版本
nvm install [-s] <version> 安装指定的版本,如果不存在.nvmrc,就从指定的资源下载安装
nvm install [-s] <version> -latest-npm 安装指定的版本,平且下载最新的npm
nvm uninstall <version> 卸载指定的版本
nvm use [--silent] <version> 使用已经安装的版本 切换版本
nvm current 查看当前使用的node版本 nvm ls 查看已经安装的版本
nvm ls <version> 查看指定版本
nvm ls-remote 显示远程所有可以安装的nodejs版本
nvm ls-remote --lts 查看长期支持的版本
nvm install-latest-npm 安装罪行的
npm nvm reinstall-packages <version> 重新安装指定的版本
nvm cache dir 显示nvm的cachenvm cache clear 清空nvm的cache
windows下:
nvm arch 查看当前系统的位数和当前nodejs的位数
** nvm install <version> [arch] 安装制定版本的node 并且可以指定平台 version 版本号 arch 平台
** nvm list [available] - nvm list 查看已经安装的版本
- nvm list installed 查看已经安装的版本
- nvm list available 查看网络可以安装的版本
nvm on 打开nodejs版本控制
nvm off 关闭nodejs版本控制
nvm proxy [url] 查看和设置代理
nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/ nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是:https://github.com/npm/npm/archive/. nvm uninstall <version> 卸载制定的版本
** nvm use [version] [arch] 切换制定的node版本和位数 nvm root [path] 设置和查看root路径 nvm version 查看当前的版本
注意事项:
1: 网络延迟
2: nvm环境变量( 再能找到nvm根目录去打开 )
3: 安装nvm前 ,请将你的node卸载
4. 将gitbash安装在c根目录下
nrm安装 : 切换使用源 npm cnpm
1. cnpm/npm i nrm -g
2. 测试
nrm
3. nrm ls 查看当前电脑中又那些源
4. nrm use npm 切换使用源
5. nrm current 查看当前源
总结:
1. nvm是用来维护和安装node.js的版本的
2. nrm是用来管理或是切换npm/cnpm等包管理工具的
vs code 终端切换: 百度关键字 :vs code 终端切换
vs code 两种命令行打开方式
1,编辑器左下角点击即可
2. 鼠标右键点击文件夹: 有一个open in terminal
node戏称为 服务端的JavaScript 语法和js一样
第二节任务:
1. 什么是node
2. node能做什么?
3. nvm怎么安装?
4. nrm安装
5. 命令行体验node
6. 文件体验node
5.命令行中的体验
function add(x, y) {
return x + y
}
function mul(x, y) {
return x * y
}
console.log(add(5, 6))
console.log(mul(9, 8))
6.执行.js 文件
命令行输入:node index/node index.js
7.自动检测工具 、nodemon supervisor
yarn global add nodemon
yarn global add supervisor
8.CommonJs
9.模块/包和commonjs---一共三块
1.内置的node.js模块(案例)
2.第三方的node.js模块(案例) https://api.douban.com/v2/movie/in_theaters
3.自定义的node.js模块(案例)
10.npm使用-创建一个自己的包发送线上
1.创建一个文件夹
2.创建pageage.json
Yarn init / npm init /cnpm init
快速创建 npm init -y / yarn init -y /cnpm init -y
3.注册npm仓库
www.npmjs.com注册一个账号
命令行执行 npm adduser(必须确保你当前的源是npmjs,使用nrm来切换源)
4.上传包
npm publish
注意:
1.npm源切换 nrm. npm i nrm -g
2.注意:npm账号需要邮箱认证
11.理解common.js规范
11.node.js常用模块(api)
-
URL
-
queryString
-
http
-
Https模块中的get方法
-
Https-cros-get (后端跨域解决方案)
-
后端爬虫(spider) cheerio( 用来解析字符串性的html数据)