我想在我的项目中实现通用链接,我需要通过 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/