node.js学习3--node.js中的模块化

node.js中的模块化

在项目开发过程中,随着功能的不断增强,代码量,文件数量也急剧增加,需要把一个大函数拆成若干个小函数,把一个大文件拆成若干个小文件,把一个大功能拆成若干个小功能。这里就涉及到模块化的想法:一个复杂的系统分成几个子系统,体现在几个小的文件在一起组成一个大的文件,集成强大的功能。

es5 不支持模块化

  • es5不支持模块化:就是在一个js文件内不能引入其他js文件。
    • 不能通过一个大文件去集成若干个小文件。
  • 不支持模块化会带来多个问题:
    • 文件的加载先后顺序
    • 不同的文件内部定义的变量共享
  • es5不支持模块化,为了让支持模块化,一般会借用第三方库来实现:

es6 原生语法支持模块化

  • 一个js文件中可以引入其他的js文件,能使用引入的js文件的中的变量、数据,这种特性就称为模块化。
  • 使用模块化开发可以很好的解决变量、函数名冲突问题,也能灵活的解决文件依赖问题。

node.js中的模块化

Node.js内部支持模块化,每个模块都是一个独立的文件。每个模块都可以完成特定的功能,需要时就去引入它们,并调用。不需要时也不需要去管它。

node.js模块的分类

  • 核心模块
    • node.js 自带的模块,在安装完node.js之后,就可以使用。
    • 类似于js中使用的内置对象 (Array Math Date…)。
    • 全部模块的源代码
  • 自定义模块 (类似config.js user.js common.js)
    • 开发者自己定义的模块。相当于js中自定义函数。
  • 第三方模块(jQuery template-web.js )
    • 其他开发者定义好的模块。node.js生态提供了一个专门的工具npm来管理第三方模块。
    • 相当于其他开发者定义好的函数或者库。例如jQuery库,artTemplate等。

核心模块

官网文档

中文文档

  • 核心模块就是 Node 内置的模块,需要通过唯一的标识名称来进行获取。
  • 每一个核心模块基本上都是暴露了一个对象,里面包含一些方法供开发者使用。
  • 一般在加载核心模块的时候,变量的命名最好就和核心模块的标识名同名即可。
    • 例如:const fs = require('fs')

示例:用fs模块读取文件

const fs = require('fs');

let htmlStr = fs.readFileSync('index.html')).toString();
console.log(htmlStr)

注意:require()中直接写模块的名字

  • 不要加.js
  • 不要加其它路径
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值