使用Koa2提供静态文件

时间:2017-03-14 19:00:40

标签: reactjs koa koa2

当有人访问路线时,如何使用Koa2提供静态文件? 我尝试了数以百万计的东西,但总是找不到消息。服务器已回复状态404

import 'babel-polyfill'
import co from 'co'
import path from 'path'
import render from 'koa-swig'
import Koa from 'koa'
import Router from 'koa-router'
import serve from 'koa-static'
import convert from 'koa-convert'
import send from 'koa-send'

const app: Koa = new Koa()
const route: Routerr = new Router()

**example 1**

app.use(serve(path.resolve(__dirname + '/public/index.html')))

router.get('/lista', function *() {
  console.log('Hello')
})

**example 2**

app.use(async (ctx) => {
  await send(ctx, '/index.html', { root: '/public' })
})

router.get('/lista', function *() {
  console.log('Hello')
})



app.use(router.routes())
app.use(router.allowedMethods())

2 个答案:

答案 0 :(得分:2)

我不久前制作了一些简单的Koa 2原型应用程序,基本上只是复制了模块页面中的示例。不幸的是,这意味着我真的无法告诉你它是如何工作的,但我确实得到了一些工作,它看起来像这样(使用ES2016):

/static

这次“安装”static作为所有静态页面的根目录,这些页面位于本地目录Xcod, Ycod中。

答案 1 :(得分:1)

这是@Some程序员dude提到的类似方法但没有使用 mount

import Koa from 'koa';
import serveStatic from 'koa-static';

const app = new Koa();
app.use(serveStatic(__dirname + '/public'));