2017-11-21 6 views
0

ノードアプリケーション(Koaサーバ)で外部ライブラリを要求しようとしています。私は私のメインのserver.jsファイルvar njwt = require('njwt');ノード/ Koaサーバでrequireを使用して追加しているライブラリにアクセスするには

でnjwtを追加しているしかし、私はそれがnjwtが未定義であるというエラーを与える私のルートハンドラ関数では、njwtにアクセスすることはできません。

この回答(https://stackoverflow.com/a/5809968)から、私のメインのserver.jsファイルでstrictモードを使用すると、インポートしたファイルに定義されている関数と変数がアクセス不能になっているようです。

しかし、回避策はありますか?

+0

モジュールはローカルプロジェクトにインストールされていますか? –

答えて

1

私が正しく理解していた場合、あなたがする必要があるすべてはそれを変更です:var njwt = require('./njwt');

これは、あなたがすでにnjwtディレクトリにnpm installを行っていると仮定しています。

+0

「モジュールが見つかりません」というエラーが表示されます。/ njwt'' – Qasim

1

私はあなたがこのようnjwtインスタンスを渡すことができ 、問題がルーターにnjwtインスタンスを送信する方法であると考え、

は(njwt)(」./ルート)が必要です。

0

これが最善のアプローチであるかどうかはわかりません。私はルートハンドラ

const router = require('koa-router')(); 
router.post('/register', async function(ctx, next) { 
    var jwt = require('jsonwebtoken'); 
    debugger; 

でライブラリを必要とすることになったと私は、ライブラリをこのように(他の2つの方法が私のために動作しませんでした)にアクセスすることができますよ。

関連する問題