Mad*_*Mad 2 c++ string casting v8 node.js
我正在尝试用 C++ 创建我的第一个节点模块。我只是想做一个简单的 Hello,将我的名字作为参数传递。我发现这种将参数转换为 v8::strings 的方法看起来很丑陋:
Local<String> name = String::NewFromUtf8(isolate, *v8::String::Utf8Value(args[0]->ToString()));
Run Code Online (Sandbox Code Playgroud)
有没有人可以建议我做这种演员的简单方法?!我错过了什么吗?!
较新版本的 v8 还需要隔离:
void Foo(const v8::FunctionCallbackInfo<v8::Value> &args)
{
// from v8 to cpp
v8::Isolate* isolate = args.GetIsolate();
v8::String::Utf8Value str(isolate, args[0]);
std::string cppStr(*str);
// back to v8
v8::Local<v8::String> v8String = v8::String::NewFromUtf8(isolate, cppStr.c_str(), v8::String::kNormalString);
}
Run Code Online (Sandbox Code Playgroud)