我试图在我的 Node 应用程序(Koa 服务器)中需要一个外部库。我在我的主 server.js 文件中添加 njwtvar njwt = require('njwt');
但是我无法访问njwt
,在我的路由处理程序函数中它给出了一个错误,说njwt
是未定义的。
从这个答案(https://stackoverflow.com/a/5809968)看来,在我的主 server.js 文件中使用严格模式会使我导入的文件中定义的函数和变量无法访问。
但是解决方法是什么?
我试图在我的 Node 应用程序(Koa 服务器)中需要一个外部库。我在我的主 server.js 文件中添加 njwtvar njwt = require('njwt');
但是我无法访问njwt
,在我的路由处理程序函数中它给出了一个错误,说njwt
是未定义的。
从这个答案(https://stackoverflow.com/a/5809968)看来,在我的主 server.js 文件中使用严格模式会使我导入的文件中定义的函数和变量无法访问。
但是解决方法是什么?
如果我理解正确,您需要做的就是将其更改为:var njwt = require('./njwt');
这是假设您已经npm install
在njwt
目录中完成了一个。
我认为问题是如何将 njwt 实例发送到您的路由器,您可以像这样传递 njwt 实例,
需要('./routes')(njwt);
我不确定这是否是最好的方法。我只是最终需要路由处理程序中的库
const router = require('koa-router')();
router.post('/register', async function(ctx, next) {
var jwt = require('jsonwebtoken');
debugger;
而且我可以通过这种方式访问库(其他两种方法对我不起作用)。