Node中的核心模块

1.Node为JS提供了很多服务器级别的API,这些API绝大多数都被包装到了一个具名核心模块中了。

例如:fs就是文件操作的的核心模块,http服务构建的http模块,path路径操作模块,os操作系统信息模块(获取系统信息)

如果想要使用模块,就要先加载他,用require()方法;

2.在Node中有三种模块:

  • 具名的核心模块
  • 用户自己编写的文件模块(js文件,json文件,....),

        用相对路径,必须加"./",不能省略

        后缀名可以省略,

  • 第三方模块

注意:在Node中没有全局作用域,只有模块作用域(超出文件的变量挥着方法没有用,外部访问不到内部,内部也访问不到外部,默认都是封闭的)

问题:因为不能使用加载文件的成员,如何让模块与模块之间通信?

require()方法有两个作用:

  • 加载文件并执行文件的代码;
  • 拿到被加载文件模块到处的接口对象

                 每个文件模块都提供了一个对象——exports,exports默认是一个空对象,可以把所需要的外部访问成员挂载到这个export对象中

例如在a文件中的代码为:

var bExports = require('./b')
var fs = require('fs')

console.log(bExports.foo)

console.log(bExports.add(10, 30))

console.log(bExports.age)

bExports.readFile('./a.js')

fs.readFile('./a.js', function (err, data) {
  if (err) {
    console.log('读取文件失败')
  } else {
    console.log(data.toString())
  }
})

在b文件中代码为:

var foo = 'bbb'

// console.log(exports)

exports.foo = 'hello'

exports.add = function (x, y) {
  return x + y
}

exports.readFile = function (path, callback) {
  console.log('文件路径:', path)
}

var age = 18

exports.age = age

function add(x, y) {
  return x - y
}

 最后程序执行效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值