目录
一、什么是node.js
定义: 基于chrome v8引擎的javascript 运行环境
特点: 事件驱动,非阻塞式I/O的模型,轻量,高效,单线程、单进程
1.对node的理解
- 不是一门语言,核心就是一个让js可以运行在服务端的一个运行时 (我们可以使用js来实现服务端。
或者工具) - node中只能使用ECMASCRIPT语法本身 (node提供了内置模块可以帮我们做系统级的操作) +npm 包。
- 使用node做中间层,和前端处于一个域下,后端没有跨域问题,跨域是浏览器的限制。
- 服务端渲染(ssr),node可以解析react,vue语法渲染后返回给浏览器 如:nuxt next。
- 打包工具,如:webpack,rollup 前端可以通过node来实现各种各样的工具。
- 现在使用node其实做服务端并没有啥优势。
2. nodejs能做什么?
可以解析js代码(没有浏览器安全级别的限制)
提供很多系统级别的API:
文件的读写
进程的管理
网络的通信
- 可以解析js代码(没有浏览器安全级别的限制)
- 提供很多系统级别的API:
- 文件的读写
- 进程的管理
- 网络的通信
- …
二、node.js安装
node version manager : node的版本管理 也是一个小工具
目前来说,可以不安装这个nvm,直接安装14.xx.xx的node就可以了,推荐这种安装方式:
地址:http://nodejs.cn/download/
使用nvm安装并维护多个node.js版本
地址:https://github.com/nvm-sh/nvm
windows 安装:
https://github.com/coreybutler/nvm-windows
https://www.cnblogs.com/dreamsqin/p/10885082.html
nvm的相关命令:
- nvm install 版本号
- nvm install --lts
- nvm use 版本号
- nvm uninstall 版本号
- nvm ls-remote //查看所有的node 版本信息
三、命令行中的体验
在vsCode中编写一个可执行的js(index.js)文件如下:
function greeting(){
return "hello node111";
}
console.log(greeting());
想要通过node运行此js文件,有两种方法:
1.vsCode运行
(1)首先要在vsCode中,下载一个用于运行的插件:code runner。
(2)选中需要运行的代码,点击右键–>run code,此时就会执行js代码并输出。
2.命令行窗口运行
在存储js文件的文件夹的路径栏输入cmd并回车,打开命令行工具,输入node index.js,在命令行状态下运行node。
使用node+js文件名有缺点,就是当改变js文件的内容时,需要手动重启服务器,为了解决这一问题,可以使用一个插件:nodemon,在命令行窗口中输入以下命令,-g表示全局安装。
安装成功后使用nodemon运行js文件,在修改文件内容时,服务器会自动重启。
三、Node环境和浏览器环境的区别
NodeJS环境和浏览器环境一样都是一个JS的运行环境, 都可以执行JS代码.
但是由于宿主不同所以特点也有所不同
(1)内置对象不同
浏览器环境中提供了window全局对象。NodeJS环境中的全局对象不叫window, 叫global。
(2)this默认指向不同
浏览器环境中全局this默认指向window。NodeJS环境中全局this默认指向空对象{}。
(3)API不同
浏览器环境中提供了操作节点的DOM相关API和操作浏览