Node.js基础概念
什么是Node.js
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者使用JavaScript编写服务端应用程序。Node.js采用事件驱动、非阻塞I/O模型,使其轻量且高效,特别适合构建高并发的网络应用。
Node.js的历史
- 2009年:由Ryan Dahl创建
- 2010年:npm包管理器发布
- 2011年:Express.js框架发布
- 2014年:Node.js基金会成立
- 2015年:io.js合并回Node.js,发布Node.js 4.0
- 2016年:Node.js采用LTS(Long Term Support)发布策略
- 2019年:Node.js基金会与JS基金会合并,成立OpenJS基金会
核心特点
单线程非阻塞
- 主线程单线程执行,但通过异步I/O和事件循环处理并发
- 避免了传统多线程模型中的线程创建和上下文切换开销
- 适合处理大量I/O密集型任务
跨平台
- 可在Windows、macOS和Linux等多种操作系统上运行
- 提供统一的API,屏蔽了底层操作系统的差异
- 便于开发和部署
高性能
- V8引擎的即时编译(JIT)技术提升代码执行效率
- 非阻塞I/O模型减少等待时间
- 事件驱动架构高效处理并发请求
丰富的生态系统
- 通过NPM( Node Package Manager )提供超过100万个第三方包
- 社区活跃,更新迭代迅速
- 各种工具和框架支持快速开发
前后端统一语言
- 使用JavaScript同时开发前后端,降低学习成本
- 代码复用更加容易
- 团队沟通更加高效
Node.js与浏览器的区别
- 运行环境:Node.js运行在服务器端,浏览器运行在客户端
- API差异:Node.js提供了文件系统、网络等服务器端API,浏览器提供了DOM、BOM等客户端API
- 模块系统:Node.js使用CommonJS模块系统,浏览器使用ES模块系统(现代浏览器)
- 全局对象:Node.js中是global,浏览器中是window
Node.js的应用场景
- Web应用后端开发
- RESTful API服务
- 实时通信应用(如聊天应用)
- 微服务架构
- 命令行工具开发
- 前端构建工具(如Webpack、Gulp)
- 游戏服务器
- IoT(物联网)应用
安装Node.js
Windows系统
- 访问Node.js官网(https://nodejs.org/)
- 下载LTS(Long Term Support)版本的安装包
- 运行安装包,按照向导完成安装
- 打开命令提示符,输入
node -v和npm -v验证安装
macOS系统
- 方法一:通过官网安装包安装(类似Windows)
- 方法二:使用Homebrew安装
brew install node - 打开终端,输入
node -v和npm -v验证安装
Linux系统
以Ubuntu为例:
- 使用apt包管理器安装
sudo apt update
sudo apt install nodejs npm - 或者使用NVM(Node Version Manager)安装(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install node - 输入
node -v和npm -v验证安装
第一个Node.js程序
创建一个名为hello.js的文件,内容如下:
console.log('Hello, Node.js!');
在终端中运行:
node hello.js
你将看到输出:Hello, Node.js!