我正在使用没有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;
答案 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();