使用 express 搭建最基本服务器程序

在使用 Express.js 框架搭建 web 应用时,通常会设置一个文件夹来存放静态资源,如图片、JavaScript 文件、CSS 文件等。默认情况下,这个文件夹经常被命名为 public。

安装 Express

如果你还没有安装 Express,可以通过 npm 来安装它。打开你的终端或命令提示符,然后输入以下命令:

npm install express

创建 Express 应用

创建一个新的 JavaScript 文件,例如 app.js,并初始化你的 Express 应用:

const express = require('express');
const app = express();
const port = 3000;

// 用于解析 JSON 格式的请求体
app.use(express.json());

// 静态文件目录
app.use(express.static('public'));

// GET 请求
app.get('/api/data', (req, res) => {
    res.status(200).send({ message: "GET 请求成功", data: [] });
});

// POST 请求
app.post('/api/data', (req, res) => {
    // 假设从请求体中获取数据
    const newData = req.body;
    // 这里可以添加逻辑来处理数据,如保存到数据库
    res.status(201).send({ message: "POST 请求成功", data: newData });
});

// PUT 请求
app.put('/api/data/:id', (req, res) => {
    const { id } = req.params;
    const updatedData = req.body;
    // 这里可以添加逻辑来更新数据,如更新数据库中的记录
    res.status(200).send({ message: `PUT 请求成功,更新的 ID: ${id}`, data: updatedData });
});

// DELETE 请求
app.delete('/api/data/:id', (req, res) => {
    const { id } = req.params;
    // 这里可以添加逻辑来删除数据,如从数据库中删除记录
    res.status(200).send({ message: `DELETE 请求成功,删除的 ID: ${id}` });
});

// 服务器启动
app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}`);
});

创建 public 文件夹

在你的项目根目录下,创建一个名为 public 的文件夹。你可以在这个文件夹中放置任何静态文件。

添加静态文件

将你的静态文件(如图片、CSS、JavaScript 文件等)放入 public 文件夹中。例如,你可以创建一个 styles.css 文件和一个 script.js 文件。

访问静态文件

当你的 Express 应用运行时,你可以通过 URL 直接访问这些静态文件。例如,如果你有一个名为 image.png 的图片文件在 public 文件夹中,你可以通过访问 http://localhost:3000/image.png 来查看这个图片。

运行你的应用

在终端或命令提示符中,运行你的应用:

node app.js

现在,你的 Express 应用应该在指定的端口上运行,并能够提供静态文件。

通过以上步骤,你可以轻松地在 Express 应用中设置并使用 public 文件夹作为静态资源目录。这样做可以帮助你管理项目的静态内容,使其更加组织化,并且易于维护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/769552.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零开始的python学习生活

第一天 pycharm部分好用快捷键 变量名的定义 与之前学习过的语言有所不同的是,python中变量名的定义更加的简洁 such as 整形。浮点型和字符串的定义 money50 haha13.14 gaga"hello"字符串的定义依然是需要加上引号,也不需要写;…

【docker】运行阶段遇到的问题

目录 1、查询docker 下挂载了哪些工具 2、docker中的简单命令 3、实际场景应用(redis) 目前工作中仅用到了redis,所以没有太多经验可以交流,暂时仅将我目前遇到的进行发布。还请见谅。 1、查询docker 下挂载了哪些工具 docker ps -a 或者…

新能源行业知识体系-------主目录-----持续更新

本文相当于目录方便快速检索内容,没有实际内容,只做索引 文章目录 一、电力市场概论二、蒙西电网需求侧响应三、蒙西电网市场结算V2.0三、2024内蒙古电力多边交易市场中长期交易相关事宜通知(讨论稿) 一、电力市场概论 是学习清华…

【区块链+基础设施】蜀信链 | FISCO BCOS应用案例

蜀信链是在四川省经济和信息化厅指导下,在四川省区块链行业协会组织下,由全省区块链相关从业与应用机构 共同参与建设和运营的区域性区块链基础设施,通过多方协同,共同打造合作共赢的区块链产业生态。 蜀信链区块链服务生态秉承“…

金融科技企业的数据治理与合规挑战

随着科技的发展,金融科技行业在我国得到了迅猛发展。金融科技创新不仅为消费者带来了便捷的金融服务,也极大地提高了金融行业的运营效率。然而,在金融科技发展的同时,数据治理与合规挑战也日益显现。本文将深入探讨金融科技企业在…

python如何安装各种库(保姆级教程)

使用Python爬虫时需要安装各种依赖库。安装一共有四种方法: 一、使用pip命令在线安装 二、在pycharm中在线安装 三、使用库的安装包本地安装 四、安装anaconda—anaconda中包含一般使用的所有库 一:pip安装 此步骤需要提前安装好python环境和pip。…

学习笔记——动态路由——OSPF(邻接/邻居)

十、OSPF的邻接/邻居 1、OSPF路由器之间的关系 (1)基本介绍 在OSPF网络中,为了交换链路状态信息和路由信息,邻居设备之间首先要建立邻接关系,邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。 OSPF路由器的两种关系&#x…

大模型概述-定义/分类/训练/应用

大模型概述 随着时代的发展, 大模型各个领域的应用正在不断扩大. 本文尽力梳理各种材料, 将从概念定义, 类型分类, 训练以及应用等方面对大模型进行一个简要的概述. 如果你想了解大模型但是却缺乏基础的知识或者觉得无从下手, 那么阅读该文章可能对你有所帮助. 如果想了解更多…

linux深度deepin基于rsync和apt-mirror同步软件源及构建本地内网源

目录 一、rsync方式二、apt-mirror方式1.安装apt-mirror2.配置apt-mirror(/etc/apt/mirror.list)3.新建存放目录开始下载 3.发布mirror站点 一、rsync方式 参考官方文档地址: https://www.deepin.org/index/docs/wiki/05_HOW-TO/08_%E9%95%9C%E5%83%8F%E5%8A%A0%E9%…

机器学习原理之 -- 最近邻算法分类:由来及原理详解

最近邻算法(k-Nearest Neighbors,k-NN)是一种简单且直观的分类算法,广泛应用于分类和回归问题。由于其易于理解和实现,k-NN在数据挖掘、模式识别和机器学习领域中占据重要地位。本文将详细介绍最近邻算法的由来、基本原…

LabVIEW干涉仪测向系统

开发了一套基于LabVIEW的软件系统,结合硬件设备,构建一个干涉仪测向实验教学平台。该平台应用于信号处理课程,帮助学生将理论知识与实际应用相结合,深化对信号处理核心概念的理解和应用。 项目背景: 当前信号处理教学…

02 数据加工层 如何搭建用户与内容的标准规范体系

你好,我是周大壮。 01 讲我们提到了个性化流量分发体系的四个阶段,并着重讲解了数据采集阶段的内容。那么,这一讲我们主要围绕数据加工阶段的内容进行详细讲解。 在课程开始之前,我们先举一个场景进行说明。 近年来&#xff0c…

学习springMVC

第四章 Spring MVC 第一节 Spring MVC 简介 1. Spring MVC SpringMVC是一个Java 开源框架, 是Spring Framework生态中的一个独立模块,它基于 Spring 实现了Web MVC(数据、业务与展现)设计模式的请求驱动类型的轻量级Web框架&am…

昇思25天学习打卡营第7天|深度学习流程全解析:从模型训练到评估

目录 构建数据集 定义神经网络模型 定义超参、损失函数和优化器 超参 损失函数 优化器 训练与评估 构建数据集 首先从数据集 Dataset加载代码,构建数据集。 代码如下: #引入了必要的库和模块,像 mindspore 以及相关的数据处理模块等等。…

vue高德地图使用

先根据官方方法给vue项目引入高德 高德文档地址 做好准备后使用 初始化地图 AMap.plugin(AMap.MoveAnimation, () >{//地图this.map new AMap.Map("mapContainer", {resizeEnable: true,center: [116.397447,39.909176],//地图中心坐标zoom:12,//缩放值});this.…

《NATURE丨使用 AlphaFold 3 准确预测生物分子相互作用的结构》

NATURE丨使用 AlphaFold 3 准确预测生物分子相互作用的结构 注意!:本文创作仅根据个人理解和网络信息,如有错误恳请指正!谢谢! 大家好,今天分享的文献是2024年5月发表在Nature上的“ Accurate structure …

Qt/C++编写地图应用/离线地图下载/路径规划/轨迹回放/海量点/坐标转换

一、前言说明 这个地图组件写了很多年了,最初设计的比较粗糙,最开始只是为了满足项目需要,并没有考虑太多拓展性,比如最初都是按照百度地图写死在代码中,经过这几年大量的现场实际应用,以及大量的用户提出…

深度学习标注文件格式转换

json转xml 原始数据集文件夹中图片格式为bmp&#xff0c;标注文件为json&#xff0c;图片和标注文件放在同一个文件夹下面&#xff0c;将json转为xml格式&#xff0c;图片和标注文件分别存放在一个文件夹下面。 headstr """\ <annotation><folder>…

C语言 -- 函数

C语言 -- 函数 1. 函数的概念2. 库函数2.1 标准库和头文件2.2 库函数的使用方法2.2.1 功能2.2.2 头文件包含2.2.3 实践2.2.4 库函数文档的一般格式 3. 自定义函数3.1 函数的语法形式3.2 函数的举例 4. 形参和实参4.1 实参4.2 形参4.3 实参和形参的关系 5. return 语句6. 数组做…

页面加载503 Service Temporarily Unavailable异常

最近发现网页刷新经常503&#xff0c;加载卡主&#xff0c;刷新页面就正常了。 研究之后发现是页面需要的js文件等加载失败了。 再研究之后发现是nginx配置的问题。 我之前为了解决一个漏洞检测到目标主机可能存在缓慢的HTTP拒绝服务攻击 把nginx的连接设置了很多限制&#…