我的Node.js应用程序中有一个“超级”模块,带有构造函数和一些原型函数。
var parser = function(options, util, cache, url) {
this.options = options;
this.util = util;
this.cache = cache;
this.url = url;
}
parser.prototype.start = function() {
console.log("I am a default start function");
console.log(this.constructor.name);
}
module.exports = parser;
我有一些继承自这个模块的其他模块。现在,当我调用start
函数时,我想得到该模块的构造函数的名称。出于某种原因,这对我不起作用。
var parser = require('../parser');
var util = require('util');
var DKAN = function(options, util, cache, url) {
parser.apply(this,arguments);
}
util.inherits(DKAN, parser);
DKAN.prototype.check = function($) {
var DKANParser = this;
if ($('meta[content*="Drupal"]').length !== 0 ) {
DKANParser.start();
return true;
} else return false;
}
module.exports = DKAN;
当调用DKANParser.start()
时,我只得到第一个console.log
“我是默认启动函数”,并且无法获得构造函数的名称,该应该是DKAN