首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖所需的依赖模块导出函数

覆盖所需的依赖模块导出函数
EN

Stack Overflow用户
提问于 2019-07-23 12:19:37
回答 2查看 676关注 0票数 0

Node.js项目使用与npm一起安装的键盘斗篷-nodejs-连接依赖项。

Dependency index.js看起来像:

代码语言:javascript
复制
 ...
 var GrantManager = require('./middleware/auth-utils/grant-manager');
 ...
 function Keycloak (config, keycloakConfig) {         
     this.config = new Config(keycloakConfig);
     this.grantManager = new GrantManager(this.config);
 ...
 module.exports = Keycloak;

./middleware/auth-utils/grant-manager.js看起来像:

代码语言:javascript
复制
...
const Token = require('./token');
....
module.exports = GrantManager;
...

./middleware/auth-utils/token.js看起来就像

代码语言:javascript
复制
...
Token.prototype.isExpired = function isExpired () {
  return ((this.content.exp * 1000) < Date.now());
};
... 
module.exports = Token;

项目源代码使用Keycloak模块:

代码语言:javascript
复制
var Keycloak = require('keycloak-connect');

如何在项目源代码中覆盖函数isExpired源代码?我脑海中唯一闪现的是在node-modules...中重写token.js

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-23 12:32:35

  1. Token导入到项目中
  2. 覆盖isExpired方法的Token原型
代码语言:javascript
复制
var Token = require('keycloak-connect/middleware/auth-utils/token')
Token.prototype.isExpired = {
  // your implementation
}
票数 2
EN

Stack Overflow用户

发布于 2019-07-23 12:27:06

解决办法之一可以是:

您可以分叉'keycloak-nodejs-connect‘git进行更改,然后在您的package.json中放置分叉存储库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57164077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档