包#
包:将 模块,代码,其他资料 聚合成一个文件夹
包分类:
- 项目包:主要用于编写项目和业务逻辑
- 软件包:封装工具和方法进行使用
要求:根目录中,必须有
package.json
文件(记录包的清单信息)
注意:导入软件包时,引入的默认是index.js模块文件/main属性指定的模块文件
package.json
{
"name":"abc", 软件包名
"version":"1.0.0", 软件包当前版本
"description": "软件包的简短描述",
"main": "index.js", 软件包入口点
"author": "abc", 软件包作者
"license":"MIT" 软件包许可证(商用后可以用作者名字宣传)
}
练习#
需求:封装数组求和函数的模块,判断用户名和密码长度函数的模块,形成一个软件包
软件包结构:
utils为软件包,我们在server.js中进行测试
arr.js:
// 数组求和函数
const getArraySum = arr => arr.reduce((sum, item) => (sum += item), 0);
module.exports = {
getArraySum,
};
str.js:
// 用户名密码长度校验函数
const checkUserName = username => username.length >= 8;
const checkPassWord = password => password.length >= 6;
module.exports = {
checkUser: checkUserName,
checkPwd: checkPassWord,
};
index.js:
const { getArraySum } = require('./lib/arr.js');
const { checkUser, checkPwd } = require('./lib/str.js');
// 统一导出所有函数
module.exports = {
getArraySum,
checkUser,
checkPwd,
};
server.js测试使用软件包:
const obj = require('./utils');
console.log(obj);
const res = obj.getArraySum([1, 2, 3, 4, 2]);
console.log(res);