Koa.js - 静态文件


静态文件是客户端从服务器下载的文件。创建一个新目录public。Express 默认情况下不允许您提供静态文件。

我们需要一个中间件来达到这个目的。继续安装koa-serve -

$ npm install --save koa-static

现在我们需要使用这个中间件。在此之前创建一个名为 public 的目录。我们将在这里存储所有静态文件。这使我们能够保证服务器代码的安全,因为客户端无法访问此公共文件夹之上的任何内容。创建公共目录后,在其中创建一个名为hello.txt的文件,其中包含您喜欢的任何内容。现在将以下内容添加到您的 app.js 中。

var serve = require('koa-static');
var koa = require('koa');
var app = koa();

app.use(serve('./public'));

app.listen(3000);

注意- Koa 查找相对于静态目录的文件,因此静态目录的名称不是 URL 的一部分。根路由现在设置为您的公共目录,因此您加载的所有静态文件都将被视为公共目录。要测试这是否正常工作,请运行您的应用程序并访问https://localhost:3000/hello.txt

您应该得到以下输出。请注意,这不是 HTML 文档或 Pug 视图,而是一个简单的 txt 文件。

静态文件

多个静态目录

我们还可以使用设置多个静态资产目录 -

var serve = require('koa-static');
var koa = require('koa');
var app = koa();

app.use(serve('./public'));
app.use(serve('./images'));

app.listen(3000);

现在,当我们请求文件时,Koa 将搜索这些目录并向我们发送匹配的文件。