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

yizhihongxing

使用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与sql关系型数据比较

    MongoDB和SQL是两种完全不同的数据库技术。SQL是关系型数据库,而MongoDB是文档型数据库。下面详细说明MongoDB和SQL的比较: 1. 数据结构 MongoDB是文档型数据库,存储的数据称为文档(document),这些文档是以键值对的形式存储在集合(collection)中。MongoDB的储存方式类似于JSON,非常灵活,可以存储不同类…

    MongoDB 2023年5月16日
    00
  • 关于MongoDB谨防索引seek的效率问题详析

    关于MongoDB谨防索引seek的效率问题,我来给大家详细讲解一下。 什么是MongoDB索引 索引是MongoDB中用来提高查询效率的一种机制。MongoDB索引使用B树数据结构实现,可以在查找时加速数据的查找速度。在MongoDB中,可以使用命令db.collection.createIndex()来创建索引。 索引seek的效率问题 在使用Mongo…

    MongoDB 2023年5月16日
    00
  • node+experss实现爬取电影天堂爬虫

    下面详细讲解“node+express实现爬取电影天堂”的攻略。 1. 准备工作 在开始爬虫之前,需要进行一些准备工作: 安装Node.js和npm,可以在Node.js官网下载对应的安装包进行安装。 创建一个新的Node.js项目,并在项目根目录下运行npm init命令初始化项目并创建package.json文件。 安装需要的依赖模块: npm inst…

    MongoDB 2023年5月16日
    00
  • Java实现同步枚举类数据到数据库

    好的。Java实现同步枚举类数据到数据库可以通过以下步骤实现: 1. 枚举类的定义 首先,我们需要定义一个枚举类,用来存储需要同步到数据库的数据,例如下面的示例: public enum AccountType { SAVINGS, CHECKING, MONEY_MARKET } 这个枚举类定义了三种银行账户类型,每种类型对应一个枚举值。 2. 数据库表的…

    MongoDB 2023年5月16日
    00
  • 如何使用Docker安装一个MongoDB最新版

    下面是如何使用Docker安装MongoDB最新版的攻略。 步骤1:安装Docker 在安装MongoDB之前,您需要先安装Docker。Docker是一种容器技术,可以帮助您更轻松地打包、部署和运行应用程序。 Docker的安装过程因操作系统而异。这里给出在Ubuntu上安装Docker的示例: # 更新包列表 sudo apt-get update # …

    MongoDB 2023年5月16日
    00
  • MongoDB MapReduce(数据处理)方法详解

    MongoDB MapReduce是一种数据处理技术,它允许您使用JavaScript编写MapReduce函数来对MongoDB集合中的数据进行聚合和分组。 下面是MongoDB MapReduce的完整使用放啊,包括过程和代码示例: 准备数据 首先,我们需要一些数据来演示MongoDB MapReduce。我们将使用以下JSON格式数据: { &quot…

    MongoDB 2023年3月14日
    00
  • MongoDB修改数据的2种方法

    MongoDB是一种文档型数据库,作为一种NoSQL数据库,它的数据存储采用的是类似于JSON格式的BSON格式,因此,对于MongoDB数据库中的数据进行修改,采用的方式和关系型数据库有所不同。接下来,我将详细讲解MongoDB修改数据的2种方法。 方法一:使用update方法 使用update方法是MongoDB最基本的一种修改数据的方法。update方…

    MongoDB 2023年5月16日
    00
  • java操作mongodb基础(查询 排序 输出list)

    Java操作MongoDB基础 目录 MongoDB入门 Java连接MongoDB MongoDB查询操作 查询所有记录 条件查询 多条件查询 分页查询 MongoDB排序操作 正序排序 倒序排序 Java输出MongoDB查询结果为List MongoDB入门 MongoDB是一种基于文档的、面向文档的NoSQL数据库管理系统。与传统的关系型数据库相比,…

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