是否可以使用c ++作为Electron.js的后端?

时间:2017-04-13 07:53:15

标签: javascript c++ electron

我有一个任务是创建简单的c ++应用程序,将信息存储到二进制文件中,然后需要使用此信息进行简单的操作,如编辑,删除,读取。 我想使用Electron创建桌面应用程序来设计UI并使用c ++来处理信息。

是否可能,我如何将c ++包含在电子中,是否有任何教程? 提前谢谢。

1 个答案:

答案 0 :(得分:7)

Electron正在使用nodejs,因此您仍然可以将cpp代码打包为节点模块,然后将其用作电子应用程序中的依赖项。

请参阅Hello World示例here,它基本上是这样做的:

module.exports.hello = () => 'world';

这是他们教程中的示例:

// hello.cc
#include <node.h>

namespace demo {

using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;

void Method(const FunctionCallbackInfo<Value>& args) {
  Isolate* isolate = args.GetIsolate();
  args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));
}

void init(Local<Object> exports) {
  NODE_SET_METHOD(exports, "hello", Method);
}

NODE_MODULE(addon, init)

}  // namespace demo