nodejs是否支持运行时依赖?

我创build了一个nodejs应用程序。 它在我的package.json文件中有jdbc依赖项。 我发现我的应用程序无法启动,如果目标机器没有jre安装。 由于jdbc在我的应用程序中只是一个可选的function,我不知道是否有一种方法让我允许应用程序在没有安装的环境中运行。

理想情况下,我想实现这样的逻辑:

1,检测目标机器是否安装jre

2,如果安装,启用此function

3,如果没有,请禁用此function

所以我需要运行时依赖nodejs来支持这个需求。

你的问题有两个部分:

  1. 你能检测到机器是否安装了Java?
    是的 – 您可以使用这样的代码执行shell命令来确定JRE是否已安装,并可能validation版本。

  2. 你可以在运行时select性地包含一个依赖项吗?
    也是的,你可以使用if语句,如:

    var jbdc; if(java_installed){ jbdc = require('jbdc'); }

jbdc ,如果您在安装时从jbdc中得到一个错误, jbdc如果支持Java的jbdc您仍然必须手动select安装jbdc 。 为此,请将jbdc作为可选依赖项添加到您的package.json中。