一,什么是node?
node是给予chrome v8引擎下javascript的运行环境。
node特点:
1,事件驱动
2,非阻塞IO
【正常情况下:阻塞IO(类似与ajax同步),比如网络请求,读写文件,数据库处理.....】
node优点:高并发特别好
二,node有什么作用?为什么要学?
1,防止甩锅,明确数据交互的错误到底是谁
2,能够书写api,斜杆青年
3,了解前后端交互流程
4,全栈/全干
三,js运行环境
- 浏览器
可以使用基本语法/dom/bom/ajax/等等
但是不可以操作数据库/系统文件(不是语言不能,而是处于安全考虑不能)
- 服务器
可以使用基本语法
操作数据库/操作本地文件
所以,限制语言能力的不是语言本身,而是语言的运行环境
四,nvm(node的版本管理工具)
当你工作中有两个项目,需要不同版本的node时,使用nvm来切换云端版本
查看当前node版本:node -v
查看所有node版本:nvm ls
切换node版本:nvm use v版本号
五,node运行环境:REPL
直接在命令行里写代码就叫repl
__dirname:当前文件的执行目录
六,模块化
- 内置模块
- 第三方模块
- 自定义模块
- 创建一个模块(在node中,一个js文件就是一个模块)
- 导出一个模块(通过module.exports = name)
- 引入一个模块并且调用(let aaa = require(路径))