三.nodejs 之require

本文介绍了如何在Node.js中创建和使用自定义模块,包括使用`require`加载模块,`module.exports`导出对象和函数,以及使用大括号对象字面量形式导出内容。
摘要由CSDN通过智能技术生成

在nodejs中,requre是请求一个模块,在前面我们已经使用过,比如下面这样:

var http = require("http");

var fs = require('fs');

var url = require('url');

就是使用了各种模块,关于用法我们都知道了,但是怎么自己编写一个nodejs的模块呢?

通过创建js文件的方法,然后以固定的格式输出。

比如我们在同目录下创建一个name.js,代码如下:

//定义一个变量
var name='zhengyong';
//定义一个函数
function getAge()
{
console.log('18');
}

//导出
module.exports.name = name;
module.exports.getAge = getAge;

然后这个就是我们编写的name模块了,那么怎么使用它呢?

我们请求的时候,可以去掉js后缀,也可以加上,比如:

require('name')或

require('name.js')

但这样会报错,因为nodejs中它找的是node_modules下的模块,所以我们可以创建一个node_modules文件夹,将name.js放进去,这样调用就正常了。

或者你可以加上./表明是当前目录,如下:

require('./name');

那么我们的完整调用代码就是,建立test.js如下:

var person=require('./name');
console.log(person.name+':');
person.getAge();

然后node test.js

 

OK,正常调用。

编写模块我们用到了 module.exports,exports是一个对象,我们用require请求后得到的就是这个对象,所以我们在模块中要对外实现什么,就通过exports输出。

而module也是一个对象,除了exports,它还有这个模块的其它属性,比如模块路径,模块id之类的,这里就不详细介绍了。

我们将name.js更改一下,如下代码运行:

//定义一个变量
var name='zhengyong';
//定义一个函数
function getAge()
{
console.log(typeof module.exports);
console.log(typeof module);
console.log(module);
}

//导出
module.exports.name = name;
module.exports.getAge = getAge;

 可以看到它们都是对象:

  

 知道了exports是个对象,我们也可以采用javascript中的大括号创建对象的写法,name.js

如下:

module.exports={
    name:'zhengyong',
    getAge: function(){
        console.log('18')
    }

}

效果是一样的。 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bczheng1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值