我正在寻找一种找出模块是否可用的方法。
例如,我想以mongodb
编程方式检查该模块是否可用。
另外,如果没有找到模块,它也不应停止程序,我想自己处理。
PS:我添加了这个问题,因为Google并没有帮助。
如果您只想检查模块是否可用(如果不可用则不加载),还有一种更聪明的方法:
function moduleAvailable(name) {
try {
require.resolve(name);
return true;
} catch(e){}
return false;
}
if (moduleAvailable('mongodb')) {
// yeah we've got it!
}
问题内容: 在运行之前,我需要检查是否已安装“ mocha”。我想出了以下代码: 我不喜欢这个例外。有没有更好的办法? 问题答案: 您应该使用而不是。如果找到将加载库,但不会加载,它将返回模块的文件名。 请参阅文档以了解require.resolve 如果未找到模块,则require.resolve()会引发错误,因此您必须对其进行处理。
问题内容: 如何检查我是否在代码中的某个位置导入了模块? 我想检查是否已经导入模块的原因是因为我有一个我不想导入的模块,因为有时会弄乱我的程序。 问题答案: 测试字典中的模块名称: 从文档中: 这是将模块名称映射到已经加载的模块的字典。 请注意,语句有两件事: 如果模块之前从未导入过(=中不存在= ),则将其加载并添加到中。 在当前名称空间中绑定1个或多个引用模块对象或模块名称空间成员的对象的名称
问题内容: 如何检查 文件 的存在? 在模块的文档中,有方法的说明。但是,据我了解,它只检查目录的存在。而且我需要检查 文件 ! 如何才能做到这一点? 问题答案: 为什么不尝试打开文件? 无论如何,经过一分钟的搜索,请尝试以下操作: 对于Node.js v0.12.x及更高版本 双方并已弃用 *编辑: 已更改: 至: 林特抱怨双重等于不是三次等于。 使用fs.stat:
问题内容: 我需要检查文件/(自定义)模块js是否存在于某些路径下。我试过像 但是当路径中没有per.js时,它将引发错误。我本来想检查文件是否存在,但如果不进行检查, 我不想添加后缀。如何检查节点是否存在模块以及是否存在要加载的模块? 问题答案: Require是一个同步操作,因此您可以将其包装在try / catch中。
问题内容: 我需要使用猫鼬插入一些数据,但是集合的名称由用户在插入时提供,因此我首先必须检查集合是否存在。 我知道如何检查集合是否存在的方式是通过查询集合。我可以看到3种可行的方法。 找到一种使用猫鼬查询的方法(也许定义一个与数据库中的模式匹配的模式)。 从猫鼬获取一些底层的node-mongodb-native对象并手动执行查询。无论如何,这是我想学习的方法。 使用node-mongodb-na
因此,我有以下几点: 因此,我从php获得了一个s字符串。我需要检查这个数字在对象变量中是否可用。 然而,我很难让它发挥作用。 有人能帮我吗? 谢谢