javascript - 仅在监听器函数中加载脚本/模块会导致问题吗?

标签 javascript node.js module require

我的 Express 应用程序包含在特定情况下使用的 JS 代码片段;准确地说,仅当来自某个站点的请求到来时。

实际上,它看起来像这样:

router.post('/', function(req, res) {
  res.setHeader('Content-Type', 'application/json');

  switch (req.body.source) {
    case "/site1":
      var sitescr_a = require('sitesc_a');
      sitescr_a.DoStuff();
      break;

    case "/site2":
      var sitescr_b = require('sitesc_b');
      sitescr_b.DoStuff();
      break;
  };
}

当然,这意味着 sitescr_a.DoStuff()sitescr_b.DoStuff() 在其他情况下都不可用 - 这是我的目标,因为这些是特定的脚本 - 但它会导致任何其他问题吗?或者这是一种被认为安全的方法?

最佳答案

虽然这是不寻常的做法,但在函数内部require是完全可以接受的。

不需要在文件顶部执行此操作,并且变量作用域将按您的预期工作。

关于javascript - 仅在监听器函数中加载脚本/模块会导致问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35491843/

相关文章:

javascript - NodeJs + Mysql 链式多查询

Node.js 应用程序和 Drupal Nginx 冲突

ubuntu - 不同Linux发行版的ansible相同剧本

javascript - 如何让私有(private)方法在 TypeScript 中工作?

javascript - 将 HTML 表格导出到 Excel 时格式化超链接

JavaScript 替代品 underscore.js

python - 在Python中导入同级模块

javascript - 带有 javascript 函数的 ASP.NET MVC ActionLink

javascript - 用于 Node js 的 c++ v8 异步模块,与结构中的类型相关的错误

scala - 关于 Play with scala 模块方法的说明