我如何编写nodejs
插件,它将支持nodejs
的所有版本(至少所有稳定版本> 0.10.6)。例如,一个版本将String::Utf8Value name(args[0]);
,而另一个版本将node::Utf8Value name(args[0]);
。这只是一个示例,但我有很多场景,nodejs
的不同版本会有不同的代码。
据我所知,这可以通过以下方式实现。
if defined()
//不确定究竟要检查什么
include <nameser.h>
else
include <arpa/nameser.h>
endif
如果这是最好的选择(我不认为),即使添加多个地方的预处理器并且代码看起来很难看,我将如何实现这一目标。这意味着我如何在C / CPP插件中检查哪个版本的NodeJS。
binding.gyp
内定义条件,以根据nodejs
版本编译特定文件。如果这是最佳选择,我可以参考哪个变量来检查nodejs
版本。nodejs
版本。 Tag a published version。虽然用户必须检查nodejs
,但非技术人员不会执行此操作,因此不应该是一个问题。我用这种方法看到的唯一问题是版本控制。例如,如果有一个必须应用于多个标签的修复,那么,对于每个标签发布,我必须指定不同的版本(不确定)。任何其他方式我都可以实现这一点,我不知道,如果上述任何选项不是一个好的选择吗?