Coursera 笔记

Module 01 · Introduction to Server-Side JavaScript服务器端 JavaScript 入门

Creating a Web Server with Node.js使用 Node.js 创建 Web 服务器

Coursera ↗

欢迎观看《使用 Node.js 创建 Web 服务器》课程!完成本视频后,您将能够:

  1. 描述 Node.js 的特性
  2. 使用 Node.js 编写一个简单的 Web 服务器

Node.js 的特点

  • 服务器端编程框架:使用 JavaScript 作为编程语言。
  • 轻量高效:专注于并发编程,适合构建可扩展的服务器应用程序。
  • 单线程应用环境:通过事件处理 I/O 操作,而非阻塞异步 I/O。
    • 使用回调函数(callback functions)处理异步操作的结果。

开发者的优势

Node.js 非常适合希望快速构建可扩展和高并发服务器应用的开发者,仅需少量工具即可实现高效开发。


Node.js 模块与包

模块(Modules)

  • 在 Node.js 中,每个 JavaScript 文件都是一个模块,对应一个脚本文件。
  • 模块可以被用来创建和扩展应用程序。

包(Packages)

  • 包含一个或多个节点模块。


HTTP 模块的使用

Node.js 内置的 HTTP 模块 允许开发者创建可以处理 HTTP 请求和响应的应用程序。

创建 Web 服务器的步骤

  1. 引入 HTTP 模块
    使用 require 导入 HTTP 模块。
const http = require('http');
  1. 创建服务器实例
    调用 http.createServer 函数创建服务器实例。
  • 示例代码:
    const server = http.createServer((req, res) => {
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello, World!');
    });
    
  • 说明:
    • req:请求对象,表示客户端的 HTTP 请求。
    • res:响应对象,用于返回 HTTP 响应。
    • 在回调函数中定义服务器如何处理请求和返回响应。
  1. 监听端口
    使用 server.listen 方法让服务器监听特定的端口,例如 8080。
  • 示例代码:
    server.listen(8080, () => {
        console.log('Server is listening on port 8080');
    });
    

总结

通过本视频,您学习到以下内容:

  1. Node.js 的特性:
  • 单线程应用环境,使用事件处理 I/O 操作。
  • 利用 JavaScript 和回调函数快速构建高并发服务器应用。
  1. 模块的使用:
  • 每个 JavaScript 文件是一个模块,可通过模块扩展功能。
  • 使用内置的 HTTP 模块开发 Web 服务器。
  1. HTTP 模块的应用:
  • 创建 Web 服务器实例。
  • 定义回调函数处理请求和响应。
  • 设置服务器监听指定端口。

🎉 恭喜您成功掌握了使用 Node.js 创建 Web 服务器的基础知识! 🌟