module
变量访问当前模块定义。当前模块的导出由 module.exports
变量确定。要导入模块,请使用全局变量的require函数。以下代码在文件 myData.js
中创建一个函数,以便在应用程序的各个部分重复使用。要从位于c:/intro/base/myData.js中的文件导出函数,我们只需将其分配给module.exports。
module.exports = function () {
console.log("a function in file myData");
};
为了从文件c:/intro/base/myValue.js使用此函数,使用全局 require
函数导入myData,并将返回的值存储在局部变量中。
var myData = require("./myData");
myData(); // logs out : "a function in file myData"
Node.js中的每个文件都是一个模块。要从模块导出的项目应该附加到module.exports变量。module.exports被定义为每个文件中的一个新的空对象。module.exports = {}是隐式存在。
默认情况下,每个模块导出一个空对象, {}
。
console.log(module.exports); // {}
我们可以从模块中导出多个变量。实现这一点的一种方法是创建一个新的对象字面量并将其分配给module.exports。在c:/intro/exports/myData1.js我们有:
var a = function () {
console.log("a called");
};
var b = function () {
console.log("b called");
};
module.exports = {
a: a,
b: b
};
在c:/intro/exports/myData2.js我们有:
module.exports.a = function () {
console.log("a called");
};
module.exports.b = function () {
console.log("b called");
};
Node.js帮助我们为module.export创建一个名为exports
的别名,而不是每次都键入module.exports.something
,你可以简单地使用exports.something。
在c:/intro/exports/myData3.js我们有
exports.a = function () {
console.log("a called");
};
exports.b = function () {
console.log("b called");
};
exports
就像任何其他的JavaScript变量一样。Node.js只是export = module.exports。如果我们添加一些东西,例如,添加myData到exports,也就是exports.myData = 123,因为JavaScript变量是引用,我们可以有效地实现module.exports.myData = 123。以下代码显示,所有这些方法从消费(导入)角度来看是等效的。
在c:/intro/exports/app.js我们有
var myData1 = require("./myData1");
myData1.a(); //www..cn
myData1.b();
var myData2 = require("./myData2");
myData2.a();
myData2.b();
var myData3 = require("./myData3");
myData3.a();
myData3.b();
最好是做require('./myData')而不是require('./myData.js'),即使两者对Node.js都很好。
当使用基于文件的模块时,你需要使用相对路径(换句话说,做require('./myData')而不是require('myData'))。
当你想要导出多个事物时,尝试并使用exports alias。
以下代码显示如何创建本地变量并导出
var myData = exports.myData = ;
如果有太多你持续导入到其他文件的模块在一起,尽量避免重复导入。
var myData = require("../something/myData");
var myValue = require("../something/myValue");
var another = require("../something/another");
var third = require("../something/third");
相反,在something文件夹中创建一个单独的index.js。在index.js中,导入所有模块一次,然后从此模块导出它们。
在c:/yourFolder/index.js我们有
exports.myData = require("./myData");
exports.myValue = require("./myValue");
exports.another = require("./another");
exports.third = require("./third");
现在你可以在每当你需要所有这些时简单地导入这个index.js:
var something = require("../something/index");
本节介绍Node.jsWeb模块,首先,你应该先了解什么是Web服务器。什么是 Web 服务器?Web服务器一般指网站服务器,是指驻留于因特...
REPL即Node自带的交互式解释器,它可以实现如下的任务:读取(Read)- 可以读取用户的输入,解析输入的Javascript数据结构并存储...
TypeScript 字符串valueOf()方法valueOf()方法返回String对象的原始值。语法string.valueOf( )返回值返回String对象的原始值。示...
我们已经在线建立了Typescript环境,因此你可以在进行理论工作的同时在线执行所有可用的示例。这使您对正在阅读的内容充满信心,...
JSON数据解析JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于...