Node.js 入门

Node.js 入门

node.js有两个版本: 开发版(左侧) / 修订版(右侧)

  1. 修订版中修改的就是开发版中的bug
  2. 开发版分为两类:稳定版(偶数) / 测试版(奇数)

电脑: 配置还行:最新版

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的版本


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
windows下安装:
如果你是windows系统,直接下载安装就好了


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

用在后台的
如果想要在前端使用,借用工具 如webpack.
Node.js自带

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)

  1. URL
  2. queryString
  3. http
  4. Https模块中的get方法
  5. Https-cros-get (后端跨域解决方案)
  6. 后端爬虫(spider) cheerio( 用来解析字符串性的html数据)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值