require()实际返回什么,文件或函数

时间:2016-10-26 19:32:43

标签: javascript node.js

例如,我有profile.js

var EventEmitter = require("events").EventEmitter;
var https = require("https");
var http = require("http");
var util = require("util");

    function Profile(username) {
     // function code here
    }

    util.inherits( Profile, EventEmitter );

    module.exports = Profile;

在我的app.js中,我有

var Profile = require("./profile.js");


var studentProfile = new Profile("chalkers");

/**
* When the JSON body is fully recieved the 
* the "end" event is triggered and the full body
* is given to the handler or callback
**/
studentProfile.on("end", console.dir);

/**
* If a parsing, network or HTTP error occurs an
* error object is passed in to the handler or callback
**/
studentProfile.on("error", console.error);

那么变量是profile.js本身还是函数Profile(用户名)?如果profile.js具有不同的功能,比如说我在profile.js中有函数SetProfile(用户名),我应该如何导出这两个函数并在app.js中使用它们呢?

1 个答案:

答案 0 :(得分:5)

require(...)函数返回" required"的module.exports值。模块,以及Profile函数。

<小时/> 顺便说一句,我不知道&#34; 返回文件&#34;或&#34; 配置文件是profile.js本身&#34;装置中。