node是什么?
- Node.js是一个基于Chrome V8 引擎的JavaScript runtime(运行环境)
- Node.js使用了一个事件驱动的模型,使其轻量又高效。
- 非阻塞的I/O
- Node.js的包管理工具npm,是全球最大的开源库生态系统
i/o:input output 输入输出流 正常情况下i/o的操作都是阻塞的(ajax同步是阻塞的)
有:网络请求、数据库处理、文件的读写。。。
优点
- 高并发特别好(非阻塞的i/o)
为什么要学node?
1.防止甩锅,明确数据交互的错误问题在谁。
api接口文档是后端大神写的,返回数据没有,那么是谁的锅?
2.能够书写api。(全栈)
3.了解前后端的交互流程
为什么叫Node.js
js不仅能做前端,还能做后端,所以叫nodejs,这种说法不对。
node js不是因为js产生的,而是node选择了js
浏览器端的JavaScript和node中的JavaScript有什么区别?
前端js:一个运行在浏览器端
- 基本语法
- bom
- dom
- ajax
- 不能操作系统文件数据库(不能操作,不是语言不能,而是出于安全性考虑)
后端js:一个运行在服务器端
- 基本语法
- 能操作数据库
- 能操作本地文件
得出结论:限制语言能力的不是语言本身,而是语言的运行环境(平台)
node版本问题
nvm (node 的版本管理工具)
去官网安装几种版本的node了,根据不同的要求使用不同的node版本。
- 查看安装的node版本列表
nvm ls
- 切换版本(后面的版本是你要使用的版本)
nvm use v10.8.0
- 查看当前使用版本
node -v
配置npm源
建议使用全局安装
npm config set registry https://registry.npm.taobao.org
//配置后可通过下面的方式来验证是否成功
npm config get registry
//或是
npm info express
运行环境
1.REPL
打开命令行窗口,输入一个node,敲击回车,即进入了REPL环境。
直接在命令行中书写代码就是REPL。
2.一般新建一个js文件
打开终端,执行
node demo.js
即运行。