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

Xin*_* Ma 2 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;
Run Code Online (Sandbox Code Playgroud)

在我的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);
Run Code Online (Sandbox Code Playgroud)

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

Ami*_*mit 5

require(...)函数返回module.exports"required"模块中的值,如果是函数则返回该值Profile.


顺便说一句,我不知道" 返回文件 "或" 配置文件是profile.js本身 "是什么意思.