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

目录

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)

相关推荐

  1. 简单认识 node 幽灵依赖

    2024-04-03 11:46:01       35 阅读
  2. C++认识及域概念

    2024-04-03 11:46:01       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 11:46:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 11:46:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 11:46:01       82 阅读
  4. Python语言-面向对象

    2024-04-03 11:46:01       91 阅读

热门阅读

  1. 搜索引擎-02-分词与全文索引

    2024-04-03 11:46:01       29 阅读
  2. Python | PyCharm 键盘快捷键

    2024-04-03 11:46:01       32 阅读
  3. jvm高级面试题-2024

    2024-04-03 11:46:01       46 阅读
  4. Mini-React

    2024-04-03 11:46:01       45 阅读
  5. 数据库嵌套事务的实现

    2024-04-03 11:46:01       34 阅读
  6. 设计模式(15):迭代器模式

    2024-04-03 11:46:01       33 阅读
  7. 建造者模式:构建复杂对象的优雅之道

    2024-04-03 11:46:01       37 阅读
  8. 堆积排序算法C代码

    2024-04-03 11:46:01       42 阅读
  9. 5分钟安装docker和docker compose环境

    2024-04-03 11:46:01       34 阅读
  10. 微信小程序-语音输入(录音并播放)

    2024-04-03 11:46:01       39 阅读
  11. STC8H8K64U 学习笔记 - 位运算

    2024-04-03 11:46:01       34 阅读