Electron可选择在生产构建应用程序上加载`electron-debug`

问题描述 投票:0回答:1

我发现this插件为我提供了一些有用的实用程序,但我不希望作为生成依赖于我构建的应用程序,因此我将其安装为:

npm install --save-dev electron-debug

如果我把它放在我的代码中,我假设我的生产版本不会运行,因为这种依赖性不存在:

require('electron-debug')();

那么我如何“可选地”加载它并静默地抑制任何错误并继续而没有任何麻烦?

还提到here

仅在开发时运行,除非被启用选项覆盖。

但是,如果我使用--save而不是--save-dev,我假设依赖项将安装在我的生产构建应用程序上,一个仅用于调试的依赖项,这有点糟糕。

npm electron production-environment
1个回答
1
投票

您认为它不会包含在您的生产构建中的假设是正确的。因此,您需要一种方法来了解该模块是否可用。

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)版本一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.