我发现this插件为我提供了一些有用的实用程序,但我不想作为对我构建的应用程序的生产依赖,因此我将其安装为:
npm install --save-dev electron-debug
如果将这样的代码放置在我的代码中,我会假设我的生产版本将无法运行,因为这种依赖不存在:
require('electron-debug')();
那么我如何“有选择地”加载它并以静默方式抑制任何错误并继续进行而没有太多麻烦?
还提到here:
仅在开发中运行,除非被启用的选项覆盖。
但是,如果我使用--save
而不是--save-dev
,则我假设该依赖项也将安装在我的生产内置应用程序中,该依赖项仅用于调试,有点烂。 / p>
答案 0 :(得分:1)
您认为它不会包含在生产版本中的假设是正确的。因此,您需要一种方法来了解该模块是否可用。
在this的答案中,Stijn de Witt提出了一种方法:
[
{
"_id": "5c1d023422ffef2282619192",
"title": "Iphone 6S",
"varients": [
{
"isDeleted": false,
"_id": "5c1d023422ffef2282619196",
"title": "Iphone 6S black 64GB"
}
]
}
]
我不太确定,但是有可能也可以与您的应用的打包版本(例如// 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") ();
)一起使用。