Javascript 如何根据请求更改依赖项导入?

Javascript 如何根据请求更改依赖项导入?,javascript,node.js,express,Javascript,Node.js,Express,我有一个内部表单服务,通过Stripe收取付款。我很好奇如何使用基于查询参数的SDK在测试模式和实时模式之间切换 以下是一个示例路线: router.post("/:formId", function(req, res, next) { let isTest = false var stripeSdk = require("stripe")(process.env.stripe_client_secret); if (req.query.test === "true"

我有一个内部表单服务,通过Stripe收取付款。我很好奇如何使用基于查询参数的SDK在测试模式和实时模式之间切换

以下是一个示例路线:

router.post("/:formId", function(req, res, next) {

    let isTest = false
     var stripeSdk = require("stripe")(process.env.stripe_client_secret);
    if (req.query.test === "true") {
      stripeSdk = require("stripe")(process.env.stripe_client_test_secret);

      isTest = true;
        }

//use the sdk with either test or live mode depending on the call
});
上面的代码可以工作,但我很好奇是否有更好的方法根据请求更改npm包导入

你可以写:

const isTest=(req.query.test==“true”);
常量stripeCret=isTest?process.env.stripe\u client\u test\u secret:process.env.stripe\u client\u secret;
const stripeSdk=require('stripe')(stripeCret);
但我想这更像是一个品味的问题,而不是别的问题


我不认为它比这更花哨。

我就是这么想的。你认为我应该担心在一条路线内进行导入吗?我想知道它是否会导致大量内存被消耗,因为它在每次发出请求时都会导入内存。模块在加载后会被缓存,所以这不应该是一个问题(参见)。