2015-01-17 23 views
0

我有一個插件創建了幾個原型,但是當我嘗試console.log(myinstace)'re沒有屬性列出。 {}是結果。期望的結果將如下所示。我如何做到這一點?如何使NodeJS插件顯示屬性信息像一個普通的對象

addon.cc

Local<FunctionTemplate> self = FunctionTemplate::New(New); 
self->PrototypeTemplate()->Set(
    String::NewSymbol("Method") 
, FunctionTemplate::New(method) 
); 

使用inspectutil包會給出一個對象的屬性和原型的最深檢查app.js

console.log(myinstance); // desired { Method : [Function: Method ] } 
+0

你爲什麼要調用'self-> PrototypeTemplate() - > Set'而不是'self-> Set'? 'console.log'不打印出原型鏈值。 – loganfsmyth

+0

它在插件文檔中。 http://nodejs.org/api/addons.html,但我看到我不需要'PrototypeTemplate()'調用,仍然沒有日誌輸出。只用'self> set()' – MatUtter

+1

好的,你添加的新行更清楚你正在使用構造函數。這與C++無關,只是'console.log()'只顯示'own'屬性,它不顯示原型鏈屬性。你看到'myObj(){} MyObj.prototype.Method = function Method(){}; console.log(新的MyObj())'。 – loganfsmyth

回答

0

一般。

const util = require('util') 
var mod = require(...) 
console.log(util.inspect(mod)) 
相關問題