我创建了一个nodejs应用程序。它在我的package.json文件中具有jdbc
依赖性。我发现如果目标计算机没有安装jre
,我的应用无法启动。由于jdbc
只是我应用中的一个可选功能,我想知道是否有办法允许我在没有安装jre
的环境中运行该应用。
理想情况下,我想实现这样的逻辑:
1,检测目标机器是否安装jre
2,如果已安装,请启用此功能
3,如果没有,请禁用此功能
所以我需要对nodejs的运行时依赖,以支持这个要求。
答案 0 :(得分:3)
您的问题分为两部分:
您能检测到机器是否安装了Java吗?
是的 - 您可以使用像this这样的代码执行shell命令来确定是否安装了JRE,并可能验证版本。
您可以在运行时选择性地包含依赖项吗?
同样是 - 您可以使用if
语句,如:
var jbdc;
if(java_installed){
jbdc = require('jbdc');
}
这就是说,如果您在安装时从jbdc
收到错误,那么如果支持Java,您仍然需要手动选择安装jbdc
。为此,请将jbdc
添加到package.json
作为optional dependency。