如何在Main JS File中调用另一个javascript

时间:2017-04-26 14:36:02

标签: javascript

我正在使用没有HTML的Javascript,只使用带有Node的JavaScript,我需要一些其他的js文件,因此它不占用主文件上的太多空间。而我一直在寻找,我找到了像“module.exports”这样的东西,但我对此并不了解,有人可以向我解释一下吗?

我试过这个

var xgr = require("./xgr.js").randomString;
randomString();

在另一个档案中

function randomString() {
	var carac = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var rand = Math.floor(Math.random() * carac.length);
	var gerado = carac[rand];
	return gerado;
}

module.exports = randomString;

2 个答案:

答案 0 :(得分:7)

Node documentation on modules详细介绍了这一点。

基本上,exports(也可用作module.exports)是模块中的预定义对象,您可以向要导出的属性添加属性。 (或者,如果您愿意,可以替换整个事物。)

require检索您require

文件的导出

所以如果a.js是:

exports.foo = function() {
    console.log("Hi there");
};

b.js

var a = require("./a");

然后

a.foo();

...输出"Hi there"

使用您的示例xgr.js

function randomString() {
    var carac = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var rand = Math.floor(Math.random() * carac.length);
    var gerado = carac[rand];
    return gerado;
}

module.exports = randomString;

您完全取代exports。你可以这样使用它:

var randomString = require("./xgr.js");

console.log(randomString());

答案 1 :(得分:0)

这是在组件之间共享功能的好方法

var _public = exports;
_public.randomString = function () {
    let carac = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    let rand = Math.floor(Math.random() * carac.length);
    let gerado = carac[rand];
    return gerado;
}

因此,您可以使用所有共享功能

let xgr = require("./xgr.js");
xgr.randomString();