gpt4 book ai didi

Node.js - 检查是否安装了模块而不实际需要它

转载 作者:IT老高 更新时间:2023-10-28 21:54:33 25 4
gpt4 key购买 nike

在运行之前,我需要检查是否安装了“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() 不会,它会返回模块的文件名。

the documentation for require.resolve

try {
console.log(require.resolve("mocha"));
} catch(e) {
console.error("Mocha is not found");
process.exit(e.code);
}

require.resolve() 如果找不到模块,则会抛出错误,因此您必须处理它。

关于Node.js - 检查是否安装了模块而不实际需要它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15302618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com