gpt4 book ai didi

node.js - 如何使用 Koa 提供静态文件?

转载 作者:行者123 更新时间:2023-12-05 09:35:40 27 4
gpt4 key购买 nike

我想在我的项目中实现通用链接,我需要通过 Koa 提供一个 json,这是一个名为 apple-app-site-association 的静态文件。

我的文件位于 /assets/apple-app-site-association/apple-app-site-association 文件夹中。

我担心的是我无法访问此 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"))));

我得到 Not Found,似乎我无法以正确的方式提供它。

我能做什么?

非常感谢您。

最佳答案

koa-static模块是你要找的。您可以使用它为给定路径提供单个文件或整个目录。以下是一些应该有所帮助的示例:

使用 koa-static 提供文件

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

提供整个目录

这里我们服务整个/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)

提供单个文件

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

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)

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

使用koa-mount安装koa-static到给定的路径。例如,这里我们将整个 /static 目录挂载到 /public 路径

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)

关于node.js - 如何使用 Koa 提供静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65685594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com