跳到主要内容

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系统

  1. 访问Node.js官网(https://nodejs.org/)
  2. 下载LTS(Long Term Support)版本的安装包
  3. 运行安装包,按照向导完成安装
  4. 打开命令提示符,输入node -vnpm -v验证安装

macOS系统

  1. 方法一:通过官网安装包安装(类似Windows)
  2. 方法二:使用Homebrew安装
    brew install node
  3. 打开终端,输入node -vnpm -v验证安装

Linux系统

以Ubuntu为例:

  1. 使用apt包管理器安装
    sudo apt update
    sudo apt install nodejs npm
  2. 或者使用NVM(Node Version Manager)安装(推荐)
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    source ~/.bashrc
    nvm install node
  3. 输入node -vnpm -v验证安装

第一个Node.js程序

创建一个名为hello.js的文件,内容如下:

console.log('Hello, Node.js!');

在终端中运行:

node hello.js

你将看到输出:Hello, Node.js!