NodeJS - 需求和模块

时间:2016-03-03 13:50:39

标签: javascript node.js prototypal-inheritance

NodeJS 中的requiremodule.exports是否可用于获取驻留在目录中而不是单个JavaScript文件中的所有JavaScript文件中的所有函数?
如果是这样?
有人可以用 示例 解释一下吗?

3 个答案:

答案 0 :(得分:1)

如果require为目录路径,它将在该目录中查找index.js文件。所以将模块特定的js文件放在一个目录中,创建一个index.js文件&最后要求你工作的js文件中的目录应该这样做。希望以下示例有助于......

示例:

file:modules / moduleA.js

function A (msg) {
    this.message = msg;
}
module.exports = A;

file:modules / moduleB.js

function B (num) {
    this.number = num;
}
module.exports = B;

file:modules / index.js

module.exports.A = require("./moduleA.js");
module.exports.B = require("./moduleB.js");

file:test.js

var modules = require("./modules");
var myMsg = new modules.A("hello");
var myNum = new modules.B("000");
console.log(myMsg.message);
console.log(myNum.number);

答案 1 :(得分:0)

使用require 您需要该文件中的模块,您可以使用该原型的所有功能(单个文件)而不是完整的目录。 e.g

    function admin(admin_id)
{
    //console.log(parent_id);
    this.admin_id = admin_id;
}
//default constructor
function admin()
{
    admin_id = null;
    self =this;
}
//destructor
~function admin(){
    this.admin_id = null;
    console.log('admin obj destroyed!');
    }
//exporting this class to access anywhere through data encapstulation
module.exports = admin;
//class methods

admin.prototype =  {

        help:function(params){

console.log('hi');
}

    }, 

您可以要求此模块并可以使用功能帮助 通过这种方法,您可以在单个文件中要求所有文件(模块)

答案 2 :(得分:0)

Wiki:“Node.js是一个开源的,跨平台的运行时环境,用于开发服务器端Web应用程序。

虽然Node.js不是JavaScript框架,但它的许多基本模块都是用JavaScript编写的,开发人员可以用JavaScript编写新模块。

运行时环境使用Google的V8 JavaScript引擎解释JavaScript。“

Nodejs示例:

你有Afile.js

var Afile = function()
{

};

Afile.prototype.functionA = function()
{
    return 'this is Afile';
}

module.exports = Afile;

和Bfile.js

var Bfile = function()
{

};

Bfile.prototype.functionB = function()
{
    return 'this is Bfile';
}

module.exports = Bfile;

Test.js文件需要Afile.js和Bfile.js

var Afile                         = require(__dirname + '/Afile.js');
var Bfile                         = require(__dirname + '/Bfile.js');

var Test = function()
{

};

Test.prototype.start = function()
{
    var Afile = new Afile();
    var Bfile = new Bfile();

    Afile.functionA();
    Bfile.functionB();
}

var test = Test;
test.start();