我已经创建了一个nodejs应用程序。它在我的package.json文件中具有jdbc依赖性。我发现如果目标计算机未安装jre,则无法启动我的应用程序。由于jdbc在我的应用程序中只是一个可选功能,我想知道是否有一种方法可以让我的应用程序在未安装jre的环境中运行。

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

1,检测目标计算机是否安装了jre

2,如果已安装,请启用此功能

3,如果没有,请禁用此功能

因此,我需要对nodejs的运行时依赖才能支持此要求。

最佳答案

您的问题分为两个部分:


您能检测机器是否安装了Java?
是的,您可以使用this之类的代码来执行shell命令,以确定是否已安装JRE,并可能验证版本。
您能否在运行时选择性地包括依赖项?
也可以-您可以使用if语句,例如:

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


话虽这么说,如果在安装时从jbdc出现错误,如果支持Java,您仍然必须手动选择安装jbdc。为此,将jbdc作为optional dependency添加到package.json中。

10-06 10:41