当前位置: 首页 > news >正文

Node.js 安装使用教程

一、Node.js 简介

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,允许在服务器端运行 JavaScript。它以事件驱动、非阻塞 I/O 为核心,适合构建高性能的网络服务、API 接口、中间层服务器、命令行工具等。


二、Node.js 安装方式

2.1 官方安装包(推荐)

  1. 访问 Node.js 官网:https://nodejs.org/
  2. 下载 LTS(长期支持)版本
  3. 安装完成后,在命令行验证:
node -v
npm -v
  • node:Node.js 主程序
  • npm:Node 包管理器

2.2 使用 nvm 管理多版本(可选)

适用于频繁切换 Node.js 版本的开发者:

  • Windows:nvm-windows
  • macOS/Linux:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

使用方式:

nvm install 18
nvm use 18

三、创建第一个 Node.js 程序

3.1 创建 hello.js 文件

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

3.2 执行脚本

node hello.js

输出:

Hello, Node.js!

四、使用 npm 管理依赖

4.1 初始化项目

mkdir my-app
cd my-app
npm init -y

生成 package.json

4.2 安装第三方模块

npm install axios

使用示例:

const axios = require('axios');axios.get('https://api.github.com').then(res => {console.log(res.status);
});

五、创建本地 HTTP 服务

const http = require('http');const server = http.createServer((req, res) => {res.writeHead(200, {"Content-Type": "text/plain"});res.end("Hello from Node.js server!");
});server.listen(3000, () => {console.log("Server running at http://localhost:3000/");
});

执行:

node server.js

六、使用 Express 快速构建 Web 服务

6.1 安装 Express

npm install express

6.2 编写简单 API

const express = require('express');
const app = express();app.get('/', (req, res) => {res.send('Hello Express!');
});app.listen(3000, () => {console.log('Server running at http://localhost:3000');
});

七、常见问题

Q1: nodenpm 不是内部命令?

  • 未正确设置环境变量
  • 建议重启命令行或电脑,或重装 Node.js

Q2: 安装依赖速度慢?

  • 使用淘宝镜像(cnpm)或配置 npm registry
npm config set registry https://registry.npmmirror.com

八、推荐工具和资源

  • VS Code + Node.js 插件
  • nodemon(自动重启):npm install -g nodemon
  • nvm(多版本管理)

九、学习资源推荐

  • Node.js 官网
  • Node.js 中文文档
  • 菜鸟教程 Node.js
  • Node.js 教程(廖雪峰)

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.dtcms.com/a/264496.html

相关文章:

  • Spring 生态创新应用:微服务架构设计与前沿技术融合实践
  • Kuikly 与 Flutter 的全面对比分析,结合技术架构、性能、开发体验等核心维度
  • 对于3DGS的理解
  • Redisson 与 Java 驻内存数据网格:分布式缓存的高可用解决方案
  • 【强化学习】深度解析 GRPO:从原理到实践的全攻略
  • 微信小程序入门实例_____打造你的专属单词速记小程序
  • 【并发编程】AQS原理详解笔记1
  • 基于SpringBoot和Leaflet的区域冲突可视化系统(2025企业级实战方案)
  • 服务器异常宕机或重启导致 RabbitMQ 启动失败问题分析与解决方案
  • 使用tensorflow的线性回归的例子(五)
  • 界面组件DevExpress WPF中文教程:Grid - 如何获取节点?
  • 【办公类-53-05】20250701Python模仿制作2025学年第一学期校历(excel+pdf)
  • 计算机网络(五)数据链路层 MAC和ARP协议
  • Mabl 基于云端的智能化自动化测试平台
  • 解决Python升级后CMD仍显示旧版本:环境变量优先级问题详解
  • vue中ref()和reactive()区别
  • 聚类算法学习
  • PAL(程序辅助语言模型)技术详解
  • 通讯录管理系统设计与实现(C++)
  • URL时间戳参数深度解析:缓存破坏与前端优化的前世今生
  • 调试 WebView 旧资源缓存问题:一次从偶发到复现的实战经历
  • 安装Pillow失败,无libjpeg包
  • OWASP Top 10 是什么?
  • Docker+vLLM内网离线部署DeepSeek
  • 数据结构与算法:贪心(二)
  • 【GHS】Green Hills软件MULTI-IDE的安装教程
  • 【NLP第二期中文分词技术:规则、统计与混合方法全解】
  • ESP32与树莓派C++、Rust开发实战
  • 【V8.0 - 语言篇 II】AI的“文案扫描仪”:解剖脚本,量化内容的“灵魂骨架”
  • C++ Qt Widget绘图画布缩放与平移:实现CAD级交互体验