自从NodeJS升级到0.11.13后,它集成了V8引擎3.24.35.22我在某些C ++模块上出现了这个错误:
error: ‘NewSymbol’ is not a member of ‘v8::String’
那么我该怎么办而不是NewSymbol?
谢谢
答案 0 :(得分:4)
V8做了一些改变。我同意你需要使用NaN来实现更好的V8演变。这是一个很好的宏框架。
v8::String::New("test")
已转换为NanSymbol("test")
。
但所有新方法都改变了一个可爱的模板。
例如, NanNew<v8::Integer>(1)
表示整数。
答案 1 :(得分:0)
NodeJS 0.11.13让我哭泣。
我可以提出nan library。 NodeJS的一些维护者开发了这个lib。这很完美。
我需要没有代表的解决方案,我建议String::newFromUtf8
。
免责声明:我讨厌在V8库中弃用。
答案 2 :(得分:0)
V8的字符串API前一段时间已被清理,以便更加明确地对Unicode编码,并避免与即将推出的ES6符号概念混淆。
您现在想要使用String::NewFromUtf8,String :: NewFromOneByte或String :: NewFromTwoByte以及相应的参数。