工程化 --- 包

1. 包

将模块、代码、其他资源聚合成一个文件夹

1.1 要求

要求: 软件包中必须在根目录中有一个 package.json 的文件(记录着包的清单信息)

package.json

{
    "name": "cz_utils",    // 软件包的名称
    "version": "1.0.0",    // 软件包的当前版本
    "description": "一个字符串常用工具方法的包", // 软件包的简述
    "main": "index.js",   // 软件包的入口文件
    "author": "peiqi",    // 软件包的作者
    "license": "MIT"      // 软件包的许可证(商用后可以用作者名字宣传)
}

当导入软件包时,只需要引入软件包的名字即可,默认会引入index.js,如果没有则会根据软件包的入口文件引入依赖环境

1.2 自定义包

utils/lib/arr.js

const baseURL = 'http://www.baidu.com'

module.exports = {
    baseURL
}

utils/lib/str.js

const getArraySum = arr => arr.reduce((sum,val) => sum += val,0)

module.exports = {
    getArraySum
}

utils/index.js

// 本文件是 utils 工具包的唯一出口,作用是将工具模块中的方法集中在这里,然后统一对外暴露
const { getArraySum } = require('./lib/arr.js')
const { baseURL } = require('./lib/str.js')

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

utils/package.json

{
    "name": "pq_utils",
    "version": "1.0.0",    
    "description": "一个字符串常用工具方法的包",
    "main": "index.js",  
    "author": "peiqi",   
    "license": "MIT"      
}

1.3 导入自定义包

// 导入 utils 软件包
// 默认去加载 utils/index.js,如果没有,则自动加载  package.json 中的main配置项的入口文件
const obj = require('./utils')

const baseURL = obj.baseURL
console.log(baseURL)

2. npm 软件包管理器

2.1 初始化清单文件

执行完毕后会在生成一个 package.json 文件,用于记录当前项目都下载过哪些软件包,有则略过此命令

npm init -y

2.2 下载指定软件包

npm i 软件包的名称

2.3 流程图

2.4 一键安装所有依赖

npm i

3. 全局软件包

**本地软件包: ** 当前项目内使用,封装的 属性和方法,存在于node_modules中

**全局软件包: ** 本机所有项目使用,封装的命令和工具,存在于系统设置的位置

3.1 nodemon

替代 node 命令,检测代码更改,自动重启程序

1. 安装

npm i nodemon -g   # -g 表示安装到全局环境中

2. 运行文件

观察修改代码后是终端服务否会自动重启

nodemon index.js
posted @ 2024-06-12 17:30  河图s  阅读(6)  评论(0)    收藏  举报