首页  >  问答  >  正文

javascript - koa中读取文件应该怎么写

初学koa,使用app.use中的ctx直接返回html字符串能显示,但是在里面使用fs.readFile,回调中把data赋值给ctx.body,在浏览器上就显示not found,请问应该怎么写啊,没查到

習慣沉默習慣沉默2733 天前771

全部回复(2)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:38:38

    直接readFile是异步吧,用readFileSync?

    或者 参考这样?

    var app = require('koa')();
    var fs = require('fs');
    app.use(function *(){
        this.body = yield new Promise(function(reso,reje){
                    fs.readFile(__dirname+'/app.html',function(err,data){
                        if(err) 
                            reso('error');
                        else
                         reso(data.toString());
                    })
                }).then(function(data){
                    return data
                });
    })
    
    app.listen(8910);

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:38:38

    koa-sendfile

    koa 好像没有直接类似 expressres.sendFile() 这样的语法,得加中间件

    回复
    0
  • 取消回复