概念

  1. 包:将模块,代码,其他资料整合成一个文件夹,这个文件夹就叫包
  2. 包分类:
    • 项目包:主要用于编写项目和业务逻辑
    • 软件包:封装工具和方法进行使用
  3. 包要求:根目录中,必须有 package.json 文件(记录包的清单信息)
  4. 包使用:在引入一个包文件夹到代码中,默认引入的是包文件节下的 index.js 模块文件里导出的对象,如果没有 index.js 文件,则会引入 package.json 里 main 属性指定的文件模块导出的对象
  5. 需求:封装数组求和函数的模块,封装判断用户名和密码长度函数的模块,形成一个软件包,并导入到 index.js 中使用查看效果
  6. 代码示例:
  • utils/lib 相关代码在素材里准备好了,只需要自己在 utils/index.js 统一出口进行导出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* 本文件是,utils 工具包的唯一出口
* 作用:把所有工具模块方法集中起来,统一向外暴露
*/
const { getArraySum } = require('./lib/arr.js')
const { checkUser, checkPwd } = require('./lib/str.js')

// 统一导出所有函数
module.exports = {
getArraySum,
checkUser,
checkPwd
}

  • index.js 导入软件包文件夹使用(注意:这次导入的是包文件夹,不是模块文件)
1
2
3
4
5
6
7
/**
* 目标:导入 utils 软件包,使用里面封装的工具函数
*/
const obj = require('./utils')
console.log(obj)
const result = obj.getArraySum([10, 20, 30])
console.log(result)