[toc]
### 1. Node.js是什么
- 不是一门语言
- 不是库,不是框架
- Node.js是一个javaScript运行时环境
- 简单点来讲就是Node.js可以解析和执行JavaScript代码
- 以前只有浏览器可以解析执行JavaScript代码
- 也就是说现在JavaScript可以完全脱离浏览器来运行
### 2. 浏览器中的JavaScript
- EcmaScript
- DOM
- BOM
### 3. Node.js中的JavaScript
- EcmaScript
- 没有DOM和BOM
- 在Node这个JavaScript执行环境中为JavaScript提供了一些服务器级别的操作API
- 例如文件读写
- 网络服务的构建
- 网络通信
- http服务器
- 等处理。。。
### 4. 构建在Chrome的V8引擎之上
- 代码只是具有特定格式的字符串而已
- 引擎可以认识它,引擎可以帮你去解析和执行
- Google Chrome的V8引擎是目前公认的解析执行JavaScript代码最快的
- Node.js的作者把Google Chrome中的V8引擎移植了出来,开发了一个独立的引擎
### 5. 特点
- 事件驱动
- 非阻塞IO模型(异步)
- 轻量和高效
- Node.js package ecosystem(npm)
- npm 是世界上最大的开源库生态系统
- 绝大多数JavaScript相关的包都存放在npm上,这样做的目的是为了让开发人员更方便的去下载使用
### 6. Node.js能做什么
- Web服务器后台
- 命令行工具
- npm(node)
- git(c语言)
- hexo(node)
- ...
- 对于前端开发工程师来说,接触node最多的是它的命令行工具
- 自己写的很少,主要是使用别人第三方的
- webpack
- gulp
- npm
### 7. Node.js中能学到啥
- B/S编程模型
- Browser-Server
- back-end
- 任何服务端技术这种BS编程模型都是一样,和语言无关
- Node只是作为我们学习BS编程模型的一个工具而已
- 模块化编程
- RequireJS
- SeaJS
- `@import('文件路径')`
- 以前认知的JavaScript只能通过script标签来加载
- 在Node中可以像`@import`一样引用加载js脚本文件
- Node常用API
- 异步编程
- 回调函数
- Promise
- async
- generator
- Express Web开发框架
- EcmaScript 6
- 1. Node.js介绍
- 2. Node读取文件
- 3. Node写文件
- 4. http服务
- 5. 发送文件中的数据以及Content-Type内容类型
- 5.1 仿制接口
- 6. Node.js中的模块系统
- 7. 在node中使用模板引擎
- 8. 服务端渲染与客户端渲染
- 9. exports 与 module.exports的区别
- 10. npm
- 11. Express
- 0. 安装
- 1. 开放端口以及静态资源
- 2. 基本路由
- 3. Express使用art-template
- 4. 在Express中获取表单POST请求体数据
- 5. 使用Express路由模块
- 6. Express 跨域
- 7. md加密
- 12. nodemon实现代码修改自动重启
- 13. MongoDB
- 13. MongoDB安装与介绍
- 14. 启动和关闭mongoDB
- 15. 连接和退出MongoDB数据库
- 16. 基本命令
- 17. 在node中操作mongodb数据库
- 18. mongoDB开始&新增数据
- 19. 查询
- 附:Express留言板项目
- 20. path 路径操作模块
- 21. Node 中的其他成员
- 22. art-template中的include用法
- 附:学生信息管理系统