472 词

#

包:将 模块,代码,其他资料 聚合成一个文件夹

包分类:

  • 项目包:主要用于编写项目和业务逻辑
  • 软件包:封装工具和方法进行使用

要求:根目录中,必须有 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);