认识Node.js中“包”的概念

发布于:2024-04-03 ⋅ 阅读:(126) ⋅ 点赞:(0)

目录

1. 认识包

1.1. 什么的包?

1.2. 包的分类

1.3. package.json 文件的作用?

1.4. 要求

1.5. 注意

1.6. 练习(需求)


 

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)