我已经创建了一个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
中。