1.什么是包
包就是一个文件夹,用来管理模块和模块之间的各种关系
2.包的使用
npm install xxx 安装包
const xxx = require(xxx) 使用包
3.如何自定义包
1.package.json字段分析(了解)
name:包的名称,必须是唯一的,由小写英文字母、数字和下划线组成,不能包含空格
description:包的简要说明
version:符合语义化版本识别规范的版本字符串
-
主版本号:当你做了不兼容的 API 修改
-
子版本号:当你做了向下兼容的功能性新增
-
修订号:当你做了向下兼容的问题修正
keywords:关键字数组,通常用于搜索
maintainers:维护者数组,每个元素要包含name、email(可选)、web(可选)字段
contributors:贡献者数组,格式与maintainers相同。包的作者应该是贡献者数组的第一个元素
bugs:提交bug的地址,可以是网站或者电子邮件地址
licenses:许可证数组,每个元素要包含type(许可证名称)和url(链接到许可证文本的- 地址)字段
repositories:仓库托管地址数组,每个元素要包含type(仓库类型,如git)、url(仓- 库的地址)和path(相对于仓库的路径,可选)字段
dependencies:生产环境包的依赖,一个关联数组,由包的名称和版本号组成
devDependencies:开发环境包的依赖,一个关联数组,由包的名称和版本号组成
2.自定义包的流程
新建一个包文件夹
文件夹中创建package.json文件(npm init -y)
配置一下package.json文件
这里我简单的配置一下
{
// 你的包的名字
"name": "gt666",
// 包的版本号
"version": "1.0.0",
// 包的描述信息
"description": "test Local package",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
// 搜索包的关键名词
"keywords": [
"sandy",
"gt",
"test"
],
// 作者(我觉得不填,就自动和你的npm账号的昵称绑定)
"author": "",
"license": "ISC"
}
初始化一个包入口js文件(main | index)
在包中编写业务逻辑代码
function test() {
console.log('本地包建立成功');
}
// 导出
exports.test = test;
3.将包上传到npm官网
在npm官方注册账号 www.npmjs.com/
我手把手教你如何注册账号
显示这个界面就表示注册成功了
但是,还需要去你绑定的邮箱里面去进行确定注册
如果npm用的是淘宝的地址,需要把淘宝的地址切换为npm(因为我之前用的淘宝的镜像,所以要切换一下)
nrm ls
nrm use npm
nrm ls
在终端输入npm addUser绑定账号
npm addUser
在终端输入npm publish(绑定好了账号就可以上传了)
npm publish
去看看npm官网有没有上传成功
上传以后下载测试一下
npm install --sava-dev gt666
下载成功,来导入看能不能正常使用
const gt666 = require('gt666');
gt666.test()
来F12运行一下Node
最后,全部弄完把我们的npm源再切换回taobao哦,不然下次安装其他的时候就稍微有点卡
下期预告: 自定义全局包