Node——03——Node中的js核心模块

一:核心模块:

Node为js提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名的核心模块中了,例如文件操作的fs核心模块,http服务构建的http模块,path路径操作模块,os操作系统信息模块
以后只要说这个模块是一个核心模块,就要马上想到如果要使用它,就必须:

var fs=require('fs');
var http=require('http');

比如使用操作系统os核心模块和操作路径的path模块

//1.用来获取机器信息的
var os=require('os');
//获取当前机器cpu信息
console.log(os.cpus());
//获取内存信息
console.log(os.totalmem());
 
//2.用来操作路径的
var path=require('path');
//extname获取路径的后缀名
console.log(path.extname('c:/a/hello.txt'));

二:简单的模块化系统

require是一个方法,它的作用就是用来加载模块的
在Node中模块有三种:
1.具名的核心模块,如fs,http
2.用户自己编写的文件模块
3.相对路径必须加 ./,可以省略后缀名,例如代码中的./2.js可以写成./2

调用自己编写的文件模块在这里插入图片描述1.js

console.log('1 start');
require('./2.js');
console.log('1 end');

2.js

console.log('2 start');
require('./3.js');
console.log('2 end');


3.js

console.log('333');

在这里插入图片描述

1.在Node中,没有全局作用域,只有模块作用域,外部访问不到内部,内部也访问不到外部

1.js

var foo=111;
console.log('1 start');
require('./2.js');
console.log('foo的值是:'+foo);
console.log('1 end');

2.js

console.log('2 start');
var foo=222;
console.log('2 end');


在这里插入图片描述

1.1既然是模块作用域,那么如何让模块与模块之间通信

我们加载文件模块的目的不是为了简简单单的执行里面的代码,更重要的是为了使用里面的某个成员
require方法有两个作用
1.加载文件模块并执行里面的代码
2.拿到被加载文件模块导出的接口对象
在每个文件模块中都提供了一个对象:exports
exports默认是一个空对象,我们要做的就是把所有需要被外部访问的成员挂载到这个exports对象中

在这里插入图片描述1.js

var ret=require('./2.js');
console.log(ret);
console.log(ret.foo);
console.log(ret.add(12,13));


2.js

exports.foo='hello';
exports.add=function(a,b){
    return a+b;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值