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

我会逐步为您讲解如何使用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日

相关文章

  • 解决运行vue项目内存溢出问题

    解决 Vue 项目内存溢出问题需要从多个方面入手,下面是一些常见的解决办法: 1. 尽可能避免大对象的创建 在 Vue 的项目中,有时候我们需要创建大对象,这些大对象会占用大量的内存空间,导致内存溢出。因此,我们需要尽可能地避免大对象的创建。 比如,我们可以避免创建过大的数组或者对象,这样可以减少内存的占用。还可以使用函数式编程中的惰性计算,避免不必要的数据…

    node js 2023年6月8日
    00
  • node.js中的querystring.parse方法使用说明

    下面是详细讲解“node.js中的querystring.parse方法使用说明”的完整攻略。 什么是querystring.parse方法? querystring.parse是Node.js内置模块querystring中的一个方法。它将URL查询字符串解析为一个键值对的集合。URL查询字符串是URL中?号后面的内容,包含若干个键值对,每个键值对之间以&…

    node js 2023年6月8日
    00
  • Nodejs+Socket.io实现通讯实例代码

    下面是Nodejs+Socket.io实现通讯实例代码的完整攻略: 1. 简介 Nodejs是一个使用JavaScript编写服务器端代码的平台,Socket.io是一种实时应用程序框架,用于在服务器和客户端之间通过WebSockets进行双向通信。 本文将以一个聊天室应用为例,介绍如何使用Nodejs和Socket.io实现实时通信的功能。 2. 安装So…

    node js 2023年6月8日
    00
  • 使用node.js对音视频文件加密的实例代码

    加密音视频文件是保护个人信息安全的重要手段之一,Node.js作为一种后端语言,可以通过其丰富的模块来实现音视频文件加密。下面就是使用Node.js对音视频文件加密的实例代码攻略。 准备工作 在开始之前,我们需要做以下准备工作: 安装Node.js环境; 安装crypto模块,该模块是Node.js中加密相关的模块,可通过以下命令进行安装: npm inst…

    node js 2023年6月8日
    00
  • Electron 调用命令行(cmd)

    当我们使用Electron开发桌面应用时,有些操作需要调用命令行来完成,例如在Windows系统中打开文件资源管理器,或是调用一些第三方的命令行工具等。下面是使用Electron调用命令行的完整攻略: 步骤一:在Electron中使用Node.js的child_process模块 要在Electron中调用命令行,我们需要使用Node.js的child_pr…

    node js 2023年6月8日
    00
  • node命令行工具之实现项目工程自动初始化的标准流程

    下面是实现项目工程自动初始化的标准流程: 1. 创建项目 在命令行中创建项目文件夹,并在其内部添加项目 package.json 文件。 mkdir auto-init-project cd auto-init-project npm init -y 2. 创建node cli工具 使用以下命令生成一个全局安装的包,该包将成为node命令行工具。 npm i…

    node js 2023年6月8日
    00
  • 浅谈node模块与npm包管理工具

    让我来为你详细讲解“浅谈node模块与npm包管理工具”的完整攻略。 1. 什么是Node模块? 在Node.js中,一个“模块”就是一个单独的文件。每个文件都被视为一个独立的模块,模块可以对外暴露变量和函数,也可以引用其他模块中的变量和函数。 Node.js在执行一个JS文件时,会自动创建一个module对象,该对象包含了该模块的信息。每个模块都可以使用m…

    node js 2023年6月8日
    00
  • 如何将Node.js中的回调转换为Promise

    将Node.js中的回调函数转换为Promise是一种常见的操作,它可以使代码更加简洁易读。下面是将Node.js中的回调函数转换为Promise的完整攻略: 步骤一:创建一个Promise 首先,我们需要创建一个Promise。Promise是一个对象,它代表异步操作的最终完成或失败,并提供了一些方法来处理操作的结果。 以下是创建一个Promise的示例代…

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