如何使用 Koa 提供静态文件?

2024-02-16

我想在我的项目中实现通用链接,并且需要通过 Koa 提供 json,这是一个名为苹果应用程序站点关联.

我的文件位于/assets/apple-app-site-association/apple-app-site-association folder.

我担心的是我无法访问此 https://myprojectlink/apple-app-site-association。

我此刻拥有的:

const path = require("path");
const Koa = require("koa");
const mount = require("koa-mount");
const serve = require("koa-better-serve");

app.use(mount("/apple-app-site-association", serve(path.resolve(__dirname,"../../../assets/apple-app-site-association/apple-app-site-association"))));

我找不到,似乎我无法以正确的方式提供服务。

我能做些什么?

预先非常感谢您。


The 相思树静态 https://github.com/koajs/static模块就是您正在寻找的。您可以使用它来将单个文件或整个目录提供给给定路径。以下是一些应该有所帮助的示例:

提供文件服务koa-static

要提供文件服务,只需传递koa-static中间件到 koa 的中间件堆栈app.use().

服务整个目录

在这里我们为大家服务/static目录

const Koa = require('koa')
const serve = require('koa-static')
const path = require('path')

const app = new Koa()
app.use(serve(path.join(__dirname, '/static')))

app.listen(3000)

提供单个文件

这里我们提供单个文件,例如data.json文件里面的/static目录

const Koa = require('koa')
const serve = require('koa-static')
const path = require('path')

const app = new Koa()
app.use(serve(path.join(__dirname, '/static/data.json')))

app.listen(3000)

在给定路径上提供目录或文件

Use 相思木安装 https://github.com/koajs/mount安装相思树静态 https://github.com/koajs/static到给定的路径。例如,这里我们挂载整个/static要提供的目录/public path

const Koa = require('koa')
const serve = require('koa-static')
const mount = require('koa-mount')
const path = require('path')

const app = new Koa()
app.use(mount('/public ',serve(path.join(__dirname, '/static'))))

app.listen(3000)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Koa 提供静态文件? 的相关文章

  • Google Chrome 不设置从 NodeJS/Express 服务器发送的 cookie

    我正在尝试在我的后端 带有express session的Express Node Mongo 中设置经过身份验证的端点 并且可以在响应标头中向客户端 Chrome版本53 0 2785 143 发送cookie 但是当我在开发控制台下 应
  • Mongoose 查询:删除“_id”属性,在结果中保留虚拟属性“id”

    我正在运行 Express js 应用程序 并且有以下设置 模型 js var schemaOptions toJSON virtuals true toObject virtuals true var modelSchema new mo
  • 如何安全地存储和处理 JWT 密钥

    读完这篇文章后 JWT 什么是好的密钥 以及如何将其存储在 Node js Express 应用程序中 https stackoverflow com questions 30089604 jwt whats a good secret k
  • 不使用Vue可以使用Vuex吗? (Vuex 服务器端?)

    Vuex 抱怨如果不调用 Vue use Vuex 就无法创建新的 store 实例 虽然这通常没问题 但我正在摆弄使用同一商店编写后端 前端的想法 有人知道答案吗 Thanks TL DR 你可以在 Node 中完美使用 Vuex 无需浏
  • 无法读取未定义的属性“isLoggedIn”

    此代码用于添加产品 然后添加到购物车和订单 并在后端使用 mongodb 创建 pdf 实际上 session isLoggedIn 是在 auth js 中定义的 检查该代码 但仍在 app js 中它给出了此错误 应用程序 JS代码 c
  • Node.js:如何将流读入缓冲区?

    我编写了一个非常简单的函数 从给定的 URL 下载图像 调整其大小并上传到 S3 使用 gm 和 knox 我不知道我是否正确地将流读取到缓冲区 一切正常 但这是正确的方法吗 另外 我想了解有关事件循环的一些信息 我如何知道函数的一次调用不
  • Bot Framework openUrl 不适用于信使上的建议操作

    我正在使用 Bot Builder Node js sdk 创建 facebook 机器人 并尝试创建建议操作 该操作将用户导航到网页 我知道 facebook 有限制 它仅重定向到 https 端点 但由于我重定向到的页面是 https
  • 什么是 Node.js 模块?

    关于这个问题 Node js module exports 的用途是什么以及如何使用它 https stackoverflow com questions 5311334 what is the purpose of nodejs modu
  • setInterval 可以随时间漂移吗?

    我有 2 个 Node js 网络服务器 我在网络服务器内缓存数据 我根据系统时间同步缓存加载 清除 我已经完成了所有主机的时间同步 现在我使用以下代码每 15 分钟清除一次缓存 millisTillNexthour Calculate m
  • 如何模拟 typeorm 连接

    在集成测试中 我使用以下代码片段来创建连接 import Connection createConnection from typeorm ts ignore import options from ormconfig js export
  • Nuxt.js 使用 https 调用服务器端 API 的问题

    当我使用 HTTP 时 我遇到 nuxt 服务器端 API 调用问题S 在客户端 一切都很好 当我通过链接在客户端切换页面时 API 可以工作 但是当我按下 Ctrl f5 并且数据将在服务器端预取时 实际上没有 API 调用 也没有提供数
  • 如何获取可用的猫鼬鉴别器列表?

    假设您有一个用户方案 您可以使用它来创建名为 用户 的基本模型 然后对于用户角色 您可以使用 mongoose 判别器来创建名为 Admin Employee 和 Client 的继承模型 有没有一种方法可以以编程方式确定用户模型有多少可用
  • Node.js 有水豚吗?

    有谁知道 Node js 是否有类似 capybara 的东西 怎么样Zombie http zombie labnotes org 僵尸 js 使用 Node js 进行极其快速的无头全栈测试 The Bite 如果你要编写一个速度极快的
  • 如何在控制台上打印来自post请求的数据

    我正在尝试在控制台上打印发布数据 app js var express require express http require http var app express app set port process env PORT 7002
  • 未加载测试环境的节点 dotenv 文件

    我有两个 dotenv 文件 一个用于开发 另一个用于测试 const dotenv require dotenv if process env process env NODE ENV dotenv config path env pro
  • Redis 客户端忽略其上设置的配置选项并尝试连接到默认 IP 127.0.01

    在AWS中 我使用ElastiCache Redis服务器并使用节点作为后端和 promise redis 包 这就是我尝试连接到我的 redis 服务器端点的方法 client redis createClient host my red
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • Child_process 处理带有回车符 (\r) 的 STDOUT 流

    我正在编写一个简单的应用程序 它允许工作中的内部系统请求从远程服务器到使用 REST 调用发起的另一个远程服务器的复制过程 使用 rsync 我已经对express框架足够熟悉 并且刚刚开始尝试child process库 并偶然发现了一个
  • Nodejs 一个接一个地运行异步函数

    我是 JS nodejs 的新手 所以如果我不能提出切中要害的问题 请原谅我 所以基本上 如果我有两个异步函数 async function init async function main 如何确保在 init 完成其异步请求后调用 ma

随机推荐

  • jQuery UI Datepicker onchange 事件问题

    我有一个 JS 代码 当您更改字段时 它会调用搜索例程 问题是我找不到任何在 Datepicker 更新输入字段时触发的 jQuery 事件 由于某种原因 当 Datepicker 更新字段时不会调用更改事件 当日历弹出时 它会改变焦点 所
  • .git 文件夹不包含什么?

    来自git site http git scm com book en v2 Git Internals Plumbing and Porcelain 强调我的 当您在新目录或现有目录中运行 git init 时 Git 会创建 git 目
  • iOS应用程序发布-以不同作者姓名发布

    我一直在家庭成员 Apple 开发者帐户下开发和测试 iPhone 应用程序 他支付了该帐户的费用 并将其注册在他的公司名下 当需要发布时 它会出现在应用商店 以及发布作者姓名的其他地方 中 以他的名字还是他的公司名称 这可以改变吗 是否可
  • wordCounts.dstream().saveAsTextFiles("本地文件系统路径", "txt");不写入文件

    我正在尝试将 JavaPairRDD 写入本地系统中的文件中 代码如下 JavaPairDStream
  • 从 Joomla 3 中的 CSV/Excel 文件导入用户

    我需要在 Joomla 3 2 系统中创建大约 100 个用户 有没有一种方法可以自动完成此操作且成本不高 我认为最好的组件是这样的 CSV 改进 http www csvimproved com http www csvimproved
  • 当两个图像碰撞时如何生成片尾画面?

    当两个图像碰撞时如何生成片尾画面 我正在制作一个带有火柴人的应用程序 你可以使用非常灵敏的加速度计来移动 因此 如果它达到这些峰值 UIImages 它将生成最终屏幕 如何让应用程序检测到这种碰撞 然后生成结束屏幕 我确信您知道这两个图像的
  • CSS3 转换与 Javascript 后备

    是否有一个 javascript 框架可以使用 CSS3 转换来实现更改不透明度或移动元素等效果 但如果不支持 则会回退到使用 javascript setInterval setTimeout 查看 YUI 3 Transition 模块
  • iOS 自定义表格视图单元格在编辑模式下调整大小

    编辑时UITableView红色圆形按钮和删除按钮与自定义单元格重叠 我们如何调整自定义单元格的大小 为红色圆形按钮和删除按钮留出空间 使用此代码 您可以根据编辑单元格的方式和所处阶段来执行不同的任务 我对代码进行了大量注释 因为我花了很长
  • 在 Twitter Bootstrap 中,如何解除模式对话框关闭事件的绑定?

    我有一个函数绑定到隐藏模式对话框的操作 我使用的代码类似于已接受的答案this https stackoverflow com questions 8363802 bind a function to twitter bootstrap m
  • 如何在 Excel 中绕过 64k 行限制

    我希望允许用户操作可能有多达 400 000 行的表 每行约 200 个字符 最大数据总量为 80MB 作为第一个近似值 我正在考虑以某种方式为用户提供一个 csv 文件以粘贴到电子表格中 首先 尝试这样的事情是否有实际意义 例如 一个电子
  • Flutter:在底部导航栏上显示模态底部表单/替换底部导航栏(无障碍)

    我正在尝试为我自己的 Flutter 应用程序复制一些类似于 Google 地图的功能 同样基于地图 我希望用户能够选择兴趣点并可以选择导航到该位置 当他们点击 导航 时 我希望底部工作表出现在现有底部导航栏的位置 或顶部 用于基于选项卡的
  • 放大画布而不修改特定子控件的大小

    所以我意识到我正在冒险超出 Canvas 的预期用途 并且可能不得不想出一个更加手动的解决方案 然而 由于在 WPF 方面没有太多经验 我希望可能有一些解决方案可以让我继续使用 Canvas 控件及其免费提供的功能 该问题围绕用于放大和缩小
  • C# 项目的目标是“.Net Framework,版本=v4.5”,该计算机未安装[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 今天下午我正在使用 Windows 8 上安装的 VS 2012 开发一个 C 项目 它运行良好 我在回家之前将代码上传到 TFS 但是当我
  • Python多处理,无法pickle thread.lock(pymongo)

    我有一个具有以下方法的类 def get add new links self max num links self get links m2 max num links processes mp cpu count pool mp Poo
  • iOS 应用程序如何安装在设备上

    我有兴趣了解 iOS 应用程序如何安装在设备上的技术细节 我来解释一下我的情况 我的应用程序的 ipa 和 plist 在服务器上 我制作了一个使用 itms services 指向 plist 文件的下载网页 我尝试在我朋友的 iPhon
  • 石英 2D 中的“斜角”形状

    我熟悉 Quartz 2D 绘图的一些基础知识 例如绘制基本形状和渐变等 但我不确定如何绘制具有 斜角 外观的形状 如下所示 斜角圆 http www shaggyfrog com junk beveled circle jpg http
  • HttpContext.Current.Session 为空

    我有一个网站 在类库内有一个自定义缓存对象 所有项目都运行 NET 3 5 我想将此类转换为使用会话状态而不是缓存 以便在应用程序回收时保留状态服务器中的状态 但是 当我访问 Global asax 文件中的方法时 此代码会引发异常 Htt
  • javax.validation.NotBlank 缺少验证器

    我要求在公共 api 模块 多模块项目 中我不能使用任何类型的 hibernate 验证注释 所以我确实使用了 javax validation 中的一个 这是可以接受的 当我想验证包含 NotBlank 注释的域对象 我使用 vaadin
  • vertica-python 复制本地时出错

    我用这个代码 复制本地 在Python上垂直7 1 conn info host 192 168 1 1 port 5433 user dbadmin password xxxxxx database db connection verti
  • 如何使用 Koa 提供静态文件?

    我想在我的项目中实现通用链接 并且需要通过 Koa 提供 json 这是一个名为苹果应用程序站点关联 我的文件位于 assets apple app site association apple app site association f