目录
1. 认识包
1.1. 什么的包?
- 将模块,代码,其他资料聚合成一个文件夹
1.2. 包的分类
- 项目包:主要用于编写项目和业务逻辑
- 软件包:封装工具和方法进行使用
1.3. package.json 文件的作用?
- 记录软件包的名字,作者,入口文件等信息
1.4. 要求
- 根目录中,必须有 package.json 文件(记录包的清单信息)
1.5. 注意
- 导入软件包时,引入的默认是 index.js 模块文件 / main 属性指定的模块文件
1.6. 练习(需求)
- 封装数组求和函数的模块,判断用户名和密码长度函数的模块,形成成一个软件包
/**
* 目标:封装数组常用的方法
*/
// 数组求和函数
const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)
module.exports = {
getArraySum
}
/**
* 目标:封装校验用户名和密码长度的函数
* 要求:用户名最少 8 位,密码最少为 6 位
*/
const checkUserName = username => {
return username.length >= 8
}
const checkPassWord = password => {
return password.length >= 6
}
module.exports = {
checkUser: checkUserName,
checkPwd: checkPassWord
}
/**
* 本文件是,utils 工具包的唯一出口
* 作用:把所有工具模块方法集中起来,统一向外暴露
*/
const { getArraySum } = require('./lib/arr.js')
const { checkUser, checkPwd } = require('./lib/str.js')
// 统一导出所有函数
module.exports = {
getArraySum,
checkUser,
checkPwd
}
{
"name": "cz_utils",
"version": "1.0.0",
"description": "一个数组和字符串常用工具方法的包",
"main": "index.js",
"author": "itheima",
"license": "MIT"
}
/**
* 目标:导入 utils 软件包,使用里面封装的工具函数
*/
const obj = require('./utils')
console.log(obj)
const result = obj.getArraySum([10, 20, 30])
console.log(result)