0
koa-jsonwebtokenで使用する秘密をロードしようとしています。モジュールの非同期的に読み込みを行う方法
import jwt, { fromAuthorizationHeader } from 'koa-jsonwebtoken';
import {serverCredentials} from './auth'
//...
console.log('loaded serverCredentials' + JSON.stringify(serverCredentials))
app.use(jwt({ secret: serverCredentials.shared, extractToken: fromAuthorizationHeader }));
と私の認証は、次のとおりです:
は、ここに私のKOAのサーバーからreleventビットだ
import ty from 'then-yield'
import md5 from 'md5'
import Promise from 'bluebird'
const fs = Promise.promisifyAll(require('fs'));
const serverCredentials = ty.spawn(function*() {
let src
try {
console.log('trying')
src = yield fs.readFileAsync('./serverCredentials.json','utf8')
} catch(e) {
console.error('Error when opening serverCredentials file: ' + e.message);
throw e
}
console.log('serverCredentials: ' + src)
return JSON.parse(src)
})
export {serverCredentials}
が、私のログは言う:代わりにサーバキーの
trying
loaded serverCredentials{"isFulfilled":false,"isRejected":false}
を。
、あなたは 'fs.readFileAsync( '../ serverCredentials.json'、 'UTF8')を試してみました、その後(機能(RES){はconsole.log。 (res)}) '? – JorgeObregon
最後の行をコメントアウトしてENOENTのキャッチをトリガーしましたが、私はパスを修正しましたが、今でも同じ問題があります。更新する –
あなたはBluebirdを使用しているので、なぜ「Promise.coroutine」ではなく「yield」を選択するのですか?そして、あなたがtranspilerを使用しているなら、 'async' /' await'をすぐに使うのはどうですか? – Bergi