Node.js-检查是否安装了模块而不实际需要它
在运行之前,我需要检查是否已安装“ mocha”。我想出了以下代码:
try { var mocha = require("mocha");
} catch(e) {
console.error(e.message);
console.error("Mocha is probably not found. Try running `npm install mocha`.");
process.exit(e.code);
}
我不喜欢这个例外。有没有更好的办法?
回答:
您应该使用require.resolve()
而不是require()
。require
如果找到将加载库,但不会加载require.resolve()
,它将返回模块的文件名。
请参阅文档以了解require.resolve
try { console.log(require.resolve("mocha"));
} catch(e) {
console.error("Mocha is not found");
process.exit(e.code);
}
如果未找到模块,则require.resolve()会引发错误,因此您必须对其进行处理。
以上是 Node.js-检查是否安装了模块而不实际需要它 的全部内容, 来源链接: utcz.com/qa/408659.html