【问题标题】:Serve up Static Image Koa.js提供静态图片 Koa.js
【发布时间】:2015-08-13 17:17:48
【问题描述】:

我以 JSON 格式返回一个值,例如在我的一个端点中:

{
    "image":"http//devservername/assets/someimage.jpg"
}

我试图弄清楚如何通过 Koa.js 静态地提供这个服务,但不确定这是否会在路由中或什么...

【问题讨论】:

  • 你看过koa-static吗?
  • 是的,我还不确定是否要使用它
  • 嗯,这就是它的谋生方式,也是所有酷男孩和女孩提供静态资产的方式,它涉及在您的代码中添加大约两行代码。

标签: node.js koa


【解决方案1】:

使用koa-static

npm install --save koa-static

// index.js or whatever
var KoaStatic = require('koa-static');
app.use(KoaStatic('assets'));

这将处理来自assets/foo.txtfoo.txt 请求。如果您想为assets/foo.txt 提供服务以响应assets/foo.txt 的请求,请致电KoaStatic('.')。这可能不是一个好主意,因为它会从根本上为任何东西服务。最好创建一个public目录,在其下放一个assets目录,使用KoaStatic('public')

【讨论】:

  • 它不工作。我在我的 app.js 中完成了上述操作,然后转到浏览器并输入 localhost:8000/assets/background.jpg 并得到一个未找到
  • 您必须实际阅读文档并正确设置。上面的内容是为/assets/foo.txt 提供服务,以响应foo.txt 上的GET。如果您想为/assets/foo.txt 服务以响应'assets/foo.txt 上的GET,那么您需要在assets 上挂载使用请求,或者执行类似创建public/assets 文件夹然后执行app.use(KoaStatic('public')) 之类的操作。跨度>
【解决方案2】:

删除http://devservername,它会链接,当然你应该使用中间件来服务文件夹。

使用koa-static-folder

import serve from 'koa-static-folder';

serve(__dirname + '/public/');

【讨论】:

  • 要回答这个问题,您需要建议使用哪个中间件,并展示一些如何使用它。此外,主机名的存在与否应该没有区别。
  • 废话现在我收到错误 2015-08-17T16:37:13.584321427Z 错误:ENOENT,在我们将它推送到我们的 Ubuntu 服务器后没有这样的文件或目录 './assets'
猜你喜欢
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 2017-08-11
  • 2023-04-01
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
相关资源
最近更新 更多