使用Node.js搭建静态资源服务详细教程

使用Node.js搭建静态资源服务是非常常见的需求,下面我将详细讲解搭建静态资源服务的完整攻略,并提供两条示例说明。

环境准备

在开始之前,确保你已经安装了Node.js和npm包管理工具,同时你需要创建一个空的目录做为工作目录。

安装依赖

在工作目录中执行以下命令,安装Express和serve-static两个依赖。

npm install express serve-static --save

创建服务器

在工作目录中创建一个名为server.js的文件,编写以下代码:

const express = require('express');
const serveStatic = require('serve-static');

const app = express();

app.use('/', serveStatic(__dirname));

const port = process.env.PORT || 8080;
app.listen(port);

console.log(`Static source server started on port ${port}...`);

代码解释:

  • 第1行导入依赖的express和serve-static模块;
  • 第3行创建一个express的应用实例;
  • 第5行将静态资源目录指定为当前工作目录(__dirname);
  • 第7行定义服务监听的端口号,这里默认为8080;
  • 第8行启动服务,并在控制台输出提示信息。

启动服务

在工作目录中执行以下命令,启动服务。

node server.js

在浏览器输入http://localhost:8080即可访问当前工作目录中的静态资源。

示例说明

示例一:使用Node.js搭建简单的博客系统

博客系统通常需要静态资源服务,我们可以使用Node.js来搭建一个简单的博客系统。

首先创建一个名为blog-server.js的文件,编写以下代码:

const express = require('express');
const serveStatic = require('serve-static');
const path = require('path');

const app = express();
const staticPath = path.join(__dirname, 'public');

app.use('/', serveStatic(staticPath));
app.get('/', (req, res) => {
  res.sendFile(path.join(staticPath, 'index.html'));
});
app.get('/post.html', (req, res) => {
  res.sendFile(path.join(staticPath, 'post.html'));
});

const port = process.env.PORT || 3000;
app.listen(port);

console.log(`Blog server started on port ${port}...`);

代码解释:

  • 第1行导入依赖的express、serve-static和path模块;
  • 第3-4行创建一个express的应用实例,同时将静态资源目录指定为当前目录下的public目录;
  • 第6-7行配置请求静态资源时使用serve-static中间件;
  • 第8-9行配置访问首页和文章页时的路由;
  • 第11行定义服务监听的端口号,这里默认为3000;
  • 第12行启动服务,并在控制台输出提示信息。

在当前目录下创建public目录,并在其中创建index.htmlpost.html两个文件,这里分别简单编写一下示例代码。

index.html文件内容如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>博客首页</title>
</head>
<body>
  <h1>欢迎来到我的博客首页!</h1>
  <p><a href="/post.html">阅读全文</a></p>
</body>
</html>

post.html文件内容如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>博客文章</title>
</head>
<body>
  <h1>我的第一篇博客文章</h1>
  <p>欢迎来访问我的新博客!</p>
</body>
</html>

最后在当前目录下执行以下命令,启动服务:

node blog-server.js

在浏览器输入http://localhost:3000即可访问博客首页,点击页面中的“阅读全文”链接即可访问文章页。

示例二:使用Node.js搭建简单的网盘系统

网盘系统通常需要静态资源服务,我们可以使用Node.js来搭建一个简单的网盘系统。

首先创建一个名为disk-server.js的文件,编写以下代码:

const express = require('express');
const serveStatic = require('serve-static');
const path = require('path');

const app = express();
const staticPath = path.join(__dirname, 'public');

app.use('/', serveStatic(staticPath));
app.get('/', (req, res) => {
  res.sendFile(path.join(staticPath, 'index.html'));
});

const port = process.env.PORT || 4000;
app.listen(port);

console.log(`Disk server started on port ${port}...`);

代码解释:

  • 第1行导入依赖的express、serve-static和path模块;
  • 第3-4行创建一个express的应用实例,同时将静态资源目录指定为当前目录下的public目录;
  • 第6-7行配置请求静态资源时使用serve-static中间件;
  • 第8-9行配置访问首页的路由;
  • 第11行定义服务监听的端口号,这里默认为4000;
  • 第12行启动服务,并在控制台输出提示信息。

在当前目录下创建public目录,并在其中创建以下子目录:

  • video:用于存放视频文件;
  • music:用于存放音乐文件;
  • doc:用于存放文档文件。

public目录下创建index.html文件,内容如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>网盘首页</title>
</head>
<body>
  <h1>欢迎来到我的网盘!</h1>
  <ul>
    <li><a href="/video">视频文件</a></li>
    <li><a href="/music">音乐文件</a></li>
    <li><a href="/doc">文档文件</a></li>
  </ul>
</body>
</html>

最后在当前目录下执行以下命令,启动服务:

node disk-server.js

在浏览器输入http://localhost:4000即可访问网盘首页,点击页面中的链接即可访问相应的文件夹。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Node.js搭建静态资源服务详细教程 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • MongoDB学习笔记之分组(group)使用示例

    MongoDB学习笔记之分组(group)使用示例 概述 在 MongoDB 中,分组(group)是一项十分常见和重要的操作,主要用于对数据进行分组统计和聚合操作。下面将通过两个实例来介绍 MongoDB 分组操作的使用方法和注意事项。 示例一 假设有一份数据集合如下: db.orders.insertMany([ { "_id" : …

    MongoDB 2023年5月16日
    00
  • MongoDB快速入门笔记(八)之MongoDB的java驱动操作代码讲解

    下面是对MongoDB快速入门笔记(八)之MongoDB的java驱动操作代码讲解的完整攻略: MongoDB快速入门笔记(八)之MongoDB的java驱动操作代码讲解 MongoDB作为一种流行的文档数据库,在Java领域中也有很多的应用。MongoDB官方提供了java驱动程序,可以方便地在Java应用中使用MongoDB数据库。本文将对MongoDB…

    MongoDB 2023年5月16日
    00
  • 详解MongoDB数据库基础操作及实例

    详解MongoDB数据库基础操作及实例 MongoDB 是一个开源的 NoSQL 数据库,常用于大规模的Web应用和数据存储等领域。 MongoDB 数据库基础操作 1. MongoDB数据库概念 MongoDB 采用了类似于 JSON 的文档数据模型,其最小存储单元是文档,它支持复杂的关系嵌套,并且可以动态地添加字段。文档可以视为“键-值”对的集合,类似于…

    MongoDB 2023年5月16日
    00
  • 简单了解Spring Framework5.0新特性

    简介 Spring Framework是一个流行的Java企业应用程序开发框架,已经使用了超过20年。Spring Framework5.0是Spring Framework的最新版本,带来了一些新的特性和增强功能。在本文中,我们将简单讨论Spring Framework5.0的新特性。 响应式编程 Spring Framework 5.0引入了对响应式编程…

    MongoDB 2023年5月16日
    00
  • MongoDB查询与游标之分布式文件存储

    MongoDB是一个支持大规模数据存储的非关系型数据库,拥有良好的查询性能。本文主要介绍如何使用MongoDB进行分布式文件存储,并说明查询及游标的相关内容。 分布式文件存储 MongoDB支持分布式文件存储,这使得MongoDB可以存储大量的二进制数据。 GridFS GridFS是MongoDB的一种用于存储和检索大文件的协议。 GridFS有两个集合。…

    MongoDB 2023年5月16日
    00
  • centos离线安装mongodb-database-tools方法详解

    centos离线安装mongodb-database-tools方法详解 本文将详细讲解如何在CentOS系统中离线安装mongodb-database-tools,同时提供两条示例说明。 前置要求 安装好了CentOS系统,版本不低于7.0。 已经准备好mongodb-database-tools的离线安装包,并放置在合适的位置。 步骤1:安装依赖库 首先…

    MongoDB 2023年5月16日
    00
  • MongoDB常用操作命令大全

    MongoDB常用操作命令大全 连接数据库 使用mongo命令连接MongoDB数据库,在命令行中输入以下命令: mongo 如有密码认证,可以使用以下命令连接数据库: mongo -u [username] -p [password] –authenticationDatabase [database_name] 数据库操作 创建、使用、删除数据库 可以…

    MongoDB 2023年5月16日
    00
  • 浅谈mongodb中query查询

    下面是关于“浅谈mongodb中query查询”的完整攻略。 MongoDB中的查询语法 在MongoDB中,查询数据是很常见的操作,可以使用query查询对数据进行过滤。MongoDB中最常用查询命令是find(),但是find()并非无所不能。当需要使用查询选项时,可以使用query查询来精确地从集合中过滤特定的文档。下面是一些常见的MongoDB查询操…

    MongoDB 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部