仅在侦听器函数中加载脚本/模块会导致问题吗?
Can loading scripts/modules only within a listener function cause issues?
My 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
函数内部是完全可以接受的。
不需要在文件顶部执行此操作,变量范围将按预期工作。
相关文章:
- 导出模块 NodeJS 时出现问题
- 扩展错误es6类模块问题
- 在Node.js中使用异步模块时出现问题
- 挖空和显示模块模式的数据绑定问题
- Node.js模块问题
- Angularjs的智能表模块-与处理它有关的问题's指令
- Javascript 模块模式问题
- 我应该如何在JS中使用揭示模块模式,传递引用,并避免加载顺序问题
- 节点.js模块需要依赖问题
- ExpressJS 中记录器模块定义的问题
- 节点.js异步模块问题
- 问题 - AngularJS 未捕获错误: [$injector:模块rr]
- 仅在侦听器函数中加载脚本/模块会导致问题吗?
- 将模块安装为全局变量时遇到问题 -- /usr/bin/env 不是目录
- 使用茉莉花测试角度控制器 - 模块问题
- JavaScript 模块模式上下文问题
- 命令失败: gm 识别: 无法打开文件 (2) [没有这样的文件或目录].通用模块和 ES6 承诺的问题
- 在 Linux 操作系统上安装ibm_db模块时出现问题
- 使用ibm_db模块在Node JS中执行prepared语句时出现问题
- 我的角度模块出了什么问题