我发现this插件为我提供了一些有用的实用程序,但我不希望作为生成依赖于我构建的应用程序,因此我将其安装为:
npm install --save-dev electron-debug
如果我把它放在我的代码中,我假设我的生产版本不会运行,因为这种依赖性不存在:
require('electron-debug')();
那么我如何“可选地”加载它并静默地抑制任何错误并继续而没有任何麻烦?
还提到here:
仅在开发时运行,除非被启用选项覆盖。
但是,如果我使用--save
而不是--save-dev
,我假设依赖项将安装在我的生产构建应用程序上,一个仅用于调试的依赖项,这有点糟糕。
您认为它不会包含在您的生产构建中的假设是正确的。因此,您需要一种方法来了解该模块是否可用。
在this回答中,Stijn de Witt介绍了这样做的方法:
// See https://stackoverflow.com/a/33067955, by Stijn de Witt
function moduleAvailable (name) {
try {
require.resolve (name);
return true;
} catch (e) {
// empty
}
return false;
}
// Query for your particular module
if (moduleAvailable ("electron-debug")) require ("electron-debug") ();
我不太确定这一点,但它有可能与你的应用程序的打包(例如electron-packager
)版本一起使用。