搜尋

首頁  >  問答  >  主體

javascript - koa中讀取檔案該怎麼寫

初學koa,使用app.use中的ctx直接回傳html字串能顯示,但是在裡面使用fs.readFile,回呼中把data賦值給ctx.body,在瀏覽器上就顯示not found,請問應該怎麼寫啊,沒查到

習慣沉默習慣沉默2749 天前781

全部回覆(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
  • 取消回覆