Javascript Node.js从实例获取模块名

Javascript Node.js从实例获取模块名,javascript,node.js,Javascript,Node.js,在我的Node.js应用程序中,在我要求将所有模块都放入server.js之后,我将它们的实例传递到我的函数中。我的函数需要确定传递了哪个模块,它将调用相应的文件 我试图通过以下方式获得模块名,但无法完成 有没有办法提取模块名?它也可以是对象名 这是我的服务器js文件 var less = require("less"); var express = require("express"); var path = require('path'); var MyApp = require("./Lo

在我的Node.js应用程序中,在我要求将所有模块都放入server.js之后,我将它们的实例传递到我的函数中。我的函数需要确定传递了哪个模块,它将调用相应的文件

我试图通过以下方式获得模块名,但无法完成

有没有办法提取模块名?它也可以是对象名

这是我的服务器js文件

var less = require("less");
var express = require("express");
var path = require('path');
var MyApp = require("./LocalModules/MyApp.js");
MyApp.InitializeAll([less, express]);
这就是我需要解析模块名的地方

exports.InitializeAll = function (modules) {
    for (var i = 0; i < modules.length; i++) {
        var currentModule = modules[i];
        var localModuleName = "MyApp_" + currentModule.constructor.name + ".js";
        var appModule = require(localModuleName);
        appModule.Initialize(currentModule);
    };

}
exports.initializell=函数(模块){
对于(变量i=0;i
为什么不将模块作为对象传递,这样您就可以获得密钥了

MyApp.InitializeAll({less : less, express : express});
然后呢

exports.InitializeAll = function (modules) {

    for (var module in modules) {

        var currentModule   = modules[module];
        var localModuleName = "MyApp_" + module + ".js";
        var appModule       = require(localModuleName);

        appModule.Initialize(currentModule);
    };

}

这是正确的,感谢您指出这一点,已经起作用了:)