- 【JavaScript】
- Javascript是客户端脚本语言,运行在浏览器,实现用户的交互
- JavaScript的运行环境
- 浏览器内核解析内核 es6
- 浏览器中的JavaScript能做什么?
- Dom操作
- 数据交互
- 表单验证
- Canvas
- 浏览器中的 JavaScript 不可以做什么?
- 操作文件和文件夹
- 获取系统信息
- 访问数据库
- 原因:
- 安全问题
- 浏览器运行机制
- JavaScript的全局对象
- node环境:global
- 浏览器:window
- 运行环境决定了语言的能力
- NodeJs不是因为JS产生的,是node选择了js
- Node的作者想做一个javascript能在后端运行的东西
- 【NodeJs】
-
NodeJs是一个基于Chrome V8 引擎的JavaScript运行环境
-
NodeJs使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。
- 事件驱动
- 事件执行
- 任务执行
- 事件执行
- 非阻塞式 I/O模型
- 非阻塞
- 异步
- I/O 模型
- Input/Output 输入输出
- 数据库操作
- Input/Output 输入输出
- 非阻塞
- 事件驱动
-
NodeJs是单线程运行环境,遇到阻塞操作,通过异步操作执行。
- 单线程(主线程):主要用来处理业务逻辑,执行JS,遇到阻塞操作,从主线程中提出,放入事件队列。
-
Nodejs的包管理工具npm,是全球最大的开源库生态系统
-
npm 插件官网:https://www.npmjs.com/
-
node版本常识
- 偶数版本为稳定版 (0.6.x ,0.8.x ,0.10.x)
- 奇数版本为非稳定版(0.7.x ,0.9.x ,0.11.x)
- LTS(Long Term Support)
- LTS和Current区别
- 操作方式:
- 重新下载最新的安装包;
- 覆盖安装即可;
- 问题:
- 以前版本安装的很多全局的工具包需要重新安装
- 无法回滚到之前的版本
- 无法在多个版本之间切换(很多时候我们要使用特定版本)
-
Node两种运行形式
- REPL(Read Eval Print Loop)终端命令运行
- Node全局对象:global
- 运行在服务端,没有DOM和BOM,有ECMAScript。
- 缺点
- 代码维护,更新麻烦
- Node全局对象:global
- 运行文件
- 格式:node 文件名称【可以省略后缀名】
- 实时监听文件变动的工具
- nodemon
- 安装:
$ cnpm i nodemon -g
- 使用:nodemon 文件名称
- 安装:
- supervisor
- 安装:
$ cnpm i supervisor -g
- 使用: supervisor 文件名称
- 安装:
- nodemon
- REPL(Read Eval Print Loop)终端命令运行