如何在NodeJS嵌入式C ++应用程序中修改v8 :: Isolate

时间:2018-08-23 06:11:11

标签: c++ node.js embed node.js-addon

我正在开发一个将NodeJS作为库嵌入其中的C ++应用程序。该应用程序应完全按照NodeJS可执行文件的方式运行(运行作为参数提供的JS文件)。但是,我想向JavaScript名称空间公开一些C ++类和函数。只要可以访问v8::Isolate对象,我就可以这样做。

问题在于,NodeJS几乎只有一个功能:node::Start(argc, argv)。它接受程序的参数并执行所有操作,并且仅在程序完成后才停止。任何时候我都无法访问为创建C ++而创建的v8::Isolate对象。

现在,很明显,我可以修改NodeJS源代码,但除非绝对必要,否则我不愿意这样做,因为这对于希望编译我的应用程序的开发人员会增加复杂性。

我还考虑过简单地将node::Start函数复制粘贴到我自己的代码中,但是它使用的私有函数根本无法工作。

我失去了选择的余地,还是缺少我想解决的东西?

0 个答案:

没有答案