Node.js飞速入门1 - 初识node.js

目录

[一、Node.js 是什么?](#一、Node.js 是什么?)

[二、为什么选择 Node.js?](#二、为什么选择 Node.js?)

[三、快速上手:Hello Node.js!](#三、快速上手:Hello Node.js!)

四、核心概念:模块化

五、下一步学习方向


从浏览器到服务器:JavaScript的跨时代突破

如果你曾用 JavaScript 编写过网页交互逻辑,那么 Node.js 将为你打开一扇新世界的大门------让 JavaScript 跳出浏览器,直接运行在操作系统上,成为构建高性能服务器、工具链甚至桌面应用的全能语言。


一、Node.js 是什么?

1. 定义与核心架构

Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。它让 JavaScript 脱离了浏览器的限制,可以直接在操作系统(如 Windows、Linux、macOS)上执行,成为一门"真正的"编程语言。

  • V8 引擎:Google 为 Chrome 浏览器开发的 JavaScript 引擎,以高性能著称。

  • 事件驱动与非阻塞I/O:Node.js 的核心设计,使其擅长处理高并发请求(如实时聊天、API 服务)。

2. 单线程?异步?

  • 单线程事件循环:Node.js 主线程是单线程的,但通过异步非阻塞机制,能高效处理大量并发任务。

  • 背后的多线程:底层依赖的 C++ 模块(如文件操作、网络请求)使用线程池,开发者无需直接管理。


二、为什么选择 Node.js?

1. 统一技术栈

  • 前端与后端均使用 JavaScript,降低学习成本,代码复用率高(例如数据校验逻辑共享)。

  • 配合 Express、NestJS 等框架,快速构建 RESTful API 或微服务。

2. 高性能场景

  • I/O 密集型应用:如实时消息推送(WebSocket)、大数据流处理(视频转码)。

  • 工具开发:Webpack、Babel 等前端工具链均基于 Node.js。

3. 活跃的生态

  • npm(Node Package Manager):全球最大的开源库生态系统,提供超过 200 万个模块。

  • 社区支持强大,问题解决资源丰富。


三、快速上手:Hello Node.js!

1. 安装 Node.js

访问 Node.js 官网,下载 LTS(长期支持)版本。安装后验证:

bash 复制代码
node -v  # 查看 Node.js 版本
npm -v   # 查看 npm 版本

2. 第一个脚本

创建 app.js 文件:

javascript 复制代码
// 引入内置 HTTP 模块
const http = require('http');

// 创建服务器实例
const server = http.createServer((req, res) => {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.js!\n');
});

// 监听 3000 端口
server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});
javascript 复制代码
//导入读写模块fs
const fs = require('fs')

//使用读写模块fs.readFile()读取文件
fs.readFile(__dirname + '/files/成绩表.txt', 'utf8', function (err, dataStr) {
  if(err){
    return console.log('读取文件失败!' + err.message)
  }
  const arr = dataStr.split(' ')
  
  const newarr = []
  arr.forEach(item=>{
    newarr.push(item.replace('=',':'))
  })
  console.log(newarr.join('\r\n'))
  const newarry = newarr.join('\r\n')
  fs.writeFile(__dirname +'/files/整理过后的成绩表.txt', newarry, function(err){
    if(err){
      return console.log('写入文件夹失败!' + err.message)
  
    }
    console.log('写入文件成功')
  })
})

3. 运行与测试

命令行执行:

javascript 复制代码
node app.js

浏览器访问 http://localhost:3000,页面显示 "Hello Node.js!"


四、核心概念:模块化

1. CommonJS 模块

Node.js 默认使用 CommonJS 规范管理代码模块:

  • 导出模块module.exportsexports

  • 导入模块require('模块路径')

示例

javascript 复制代码
// math.js
const add = (a, b) => a + b;
module.exports = { add };

// app.js
const { add } = require('./math.js');
console.log(add(2, 3)); // 输出 5

2. ES Modules(现代浏览器标准)

.mjs 文件或 package.json 中设置 "type": "module" 后支持:

javascript 复制代码
// math.mjs
export const add = (a, b) => a + b;

// app.mjs
import { add } from './math.mjs';

五、下一步学习方向

  1. 掌握 npm :学习包管理、package.json 配置与脚本命令。

  2. 框架实践:Express.js 快速搭建 Web 服务,或 NestJS 构建企业级应用。

  3. 异步编程:深入理解 Promise、async/await 与事件循环机制。

  4. 实战项目:开发 REST API、命令行工具或实时聊天应用。


Node.js 的诞生,让 JavaScript 从"玩具语言"蜕变为"全能战士"。无论是初创公司还是大型企业(如 Netflix、PayPal),都在利用其高并发特性优化性能。现在,你已迈出第一步,接下来就是探索更广阔的世界!

相关资源

相关推荐
web151173602231 小时前
Node.js 完全教程:从入门到精通
node.js
爱学习的小王!7 小时前
nvm安装、管理node多版本以及配置环境变量【保姆级教程】
经验分享·笔记·node.js·vue
(; ̄ェ ̄)。11 小时前
在Nodejs中使用kafka(三)offset偏移量控制策略,数据保存策略
分布式·后端·kafka·node.js
begei17 小时前
nodejs版本管理,使用 nvm 删除node版本,要删除 Node.js 的某个版本详细操作
node.js
小白探索世界欧耶!~17 小时前
npm/pnpm软链接
前端·npm·node.js
柚子味儿的西瓜17 小时前
npm install --legacy-peer-deps和npm install --force的区别
前端·npm·node.js
_advance17 小时前
🚀不用新建后端项目!用 Vite 插件开发 Node 接口的正确姿势
前端·node.js
OpenTiny社区19 小时前
Node.js技术原理分析系列——如何在Node.js中新增一个内置模块
前端·开源·node.js·opentiny
CDwenhuohuo1 天前
使用 NVM 随意切换 Node.js 版本
node.js
随风起舞11 天前
node.js里的bind,apply, call的区别是什么
前端·javascript·node.js