Node.js搭建WEB服务器的示例代码

yizhihongxing

我会逐步为您讲解如何使用Node.js搭建WEB服务器,并提供两个示例说明。

什么是Node.js

Node.js是基于Chrome V8 JavaScript引擎的开源的、跨平台的、事件驱动的JavaScript运行时环境。它使得开发者可以使用JavaScript编写后端服务器、命令行工具等应用程序。也就是说,使用Node.js可以将 JavaScript 应用到开发各种类型的应用程序。

如何在 Node.js 中搭建基本的 WEB 服务器

步骤一:创建一个Node.js文件夹

mkdir node-web-server

步骤二:在该文件夹下,初始化 Node.js 项目

在 node-web-server 文件夹下,打开命令行窗口,输入以下命令

npm init

按照提示,回答一些关于项目的问题。在这些问题中,最重要的是 entry point,Node.js 将从这个文件开始执行你的应用程序。

例如,当你执行服务端的命令时输入'app.js'时,Node.js 就会寻找一个名为 app.js 的文件作为项目入口点。

{
  "name": "node-web-server",
  "version": "1.0.0",
  "description": "a node web server example",
  "main": "app.js",
  "author": "Your Name",
  "license": "MIT"
}

步骤三:创建 app.js 文件

通过以下代码创建 Node.js 服务器

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

// Created a server object
const server = http.createServer((req, res) => {
  res.statusCode = 200;

  // Adding the response Header
  res.setHeader('Content-Type', 'text/plain');

  // Sending "Hello World" Response
  res.end('Hello World\n');
});

// Start Server
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

在终端中输入指令

node app.js

在浏览器中打开 http://localhost:3000/ ,你将会看到 ‘Hello World’。

示例如下(示例1):

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

// Created a server object
const server = http.createServer((req, res) => {
  res.statusCode = 200;

  // Adding the response Header
  res.setHeader('Content-Type', 'text/plain');

  // Sending "Hello World" Response
  res.end('Hello World\n');
});

// Start Server
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

浏览器显示结果:

Hello World

示例如下(示例2):

const http = require('http');
const fs = require('fs');
const url = require('url');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {

  const myUrl = url.parse(req.url, true).pathname;
  let route = "." + myUrl;

  fs.readFile(route, function (err, data) {

    if (err) { // Not Found Error Response
      res.writeHead(404, {'Content-Type': 'text/html'});
      return res.end("404 Not Found");
    } 

    // Set HTTP Response Headers
    res.writeHead(200, {'Content-Type': 'text/html'});

    // Response File
    res.write(data);
    return res.end(); // Ends the Response

  });
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

在示例2中,使用了fsurl模块,开启了一个 Web 服务器,并根据用户访问的网址,返回对应的文件内容。在浏览器中访问http://localhost:3000/index.html,将会返回index.html文件的内容。

需要注意的是,示例2是需要在根目录下准备一个index.html文件才能正常运行,如果文件不存在,会返回一个404错误。

上述两个示例都是非常基本的,你可以加入更多的功能和复杂度,以使用更多的 Node.js 模块和技术来构建更为强大的 WEB 服务器。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js搭建WEB服务器的示例代码 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • Node.js文件操作方法汇总

    我们来详细讲解一下“Node.js文件操作方法汇总”的完整攻略,内容如下: Node.js 文件操作方法汇总 Node.js 提供了丰富的文件操作方法,包括文件读写、权限管理、目录操作等等。这使得 Node.js 成为了一种非常强大的文件处理工具。下面我们就来一一介绍。 文件读取 文件读取是最常用的文件操作之一,Node.js 提供了多种方法来实现文件读取。…

    node js 2023年6月8日
    00
  • javascript学习笔记(十九) 节点的操作实现代码

    关于“JavaScript学习笔记(十九)节点的操作实现代码”的攻略如下: 1. 理解DOM节点 在进行DOM节点的操作前,我们需要先了解DOM节点的基本知识。DOM(Document Object Model)文档对象模型,它是HTML文档的树形结构,我们可以通过JavaScript来访问和操作这个树形结构上的每个节点。 DOM节点包括元素节点、文本节点、…

    node js 2023年6月8日
    00
  • JS中自定义定时器让它在某一时刻执行

    JS中自定义定时器在某一时刻执行是通过setTimeout()函数或setInterval()函数实现的。下面将详细介绍这两个函数的用法。 1. setTimeout() setTimeout()函数是JS中的全局函数,用于在指定的时间后执行一个函数或一段代码。其语法如下: setTimeout(function, milliseconds, arg1, a…

    node js 2023年6月8日
    00
  • ES6新特性:使用export和import实现模块化详解

    下面我将为你详细讲解如何使用 export 和 import 实现 JavaScript 模块化。首先,我们需要了解 ES6 新特性中的模块化规范。 ES6 新特性:模块化规范 ES6 引入了一种新的模块化规范,不再依赖于传统的全局命名空间,而是将功能划分为一个个独立的模块,通过 export 导出模块中的功能,通过 import 引入其他模块的功能。这样可…

    node js 2023年6月8日
    00
  • 浅析node Async异步处理模块用例分析及常用方法介绍

    以下是“浅析node Async异步处理模块用例分析及常用方法介绍”的攻略: 一、异步处理模块Async 1.1 Async模块简介 Async是Node.js中最常用的异步处理模块,可以帮助我们简化异步流程的处理。Async提供了一系列方法,可以让我们轻松地控制异步代码的执行顺序,以及在任务完成后获取返回值。 1.2 Async模块的使用 使用Async模…

    node js 2023年6月8日
    00
  • JS 中实现一个串型异步函数队列

    异步函数队列的定义 在JS中,异步函数队列是指将多个异步函数串连起来按照顺序执行的一种方式。每个异步函数需要等待上一个异步函数完成后才能执行,如此循环执行下去。这种实现方式通常用于异步任务按照顺序逐步执行的场景中,例如:多个Ajax请求,或者是依赖关系复杂的操作。 实现串型异步函数队列的方法 实现JS中串型异步函数队列的方法有很多种,我将会介绍一种较为常用的…

    node js 2023年6月8日
    00
  • 用nodeJS搭建本地文件服务器的几种方法小结

    我非常乐意为您提供关于用NodeJS搭建本地文件服务器的几种方法小结的完整攻略。 用NodeJS搭建本地文件服务器的几种方法小结 基于Node.js的http模块搭建文件服务器 首先,安装Node.js并检查是否成功安装,可以通过在终端或命令提示符中输入命令node -v来查看版本号。 在文件系统中选择一个文件夹作为服务器根目录,应确保Node.js具有访问…

    node js 2023年6月8日
    00
  • Node.js API详解之 util模块用法实例分析

    下面是 Node.js API 详解之 util 模块用法实例分析的完整攻略。 一、util 模块简介 在 Node.js 中,util 是一个专门提供了常用工具函数的模块。通过 require(‘util’) 获取到其中的方法。在 Node.js 中,我们可以使用以下方法: util.debuglog() util.format() util.inheri…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部