登录npm
- 打开终端,输入npm login
- 浏览器打开对应网址,输入自己绑定的邮箱,如果没有邮箱去官网注册,官网地址www.npmjs.com/
- 现在就可以看到登录进来的页面了
编写发布npm包
-
新建发布包目录,npm init初始化包,按照如下流程
-
创建目录结构
- src
validare.js
- index.js
- package.js
- src的validare.js内容如下
const Validate = {
/**
* 手机号校验
*/
mobileCheck: (mobile) => {
let reg = /^[1][3,4,5,7,8][0-9]{9}$/;
return reg.test(mobile);
},
};
export default Validate;
- 在入口文件导入,内容如下
import Validate from './src/validare.js';
export default {
Validate
}
发布npm包
- 在刚刚创建好的项目的根目录下打开cmd运行
- 发布包命令:npm publish
这个报错查询AI是因为package.json文件mypackage名字的包已经被占用,所以重新命名dcrpackage-czr
{
"name": "dcrpackage-czr",
"version": "1.0.0",
"description": "一个测试的包,用来测试发布包",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"dcrpackage-czr"
],
"author": "dcr",
"license": "ISC"
}
重新执行npm publish 如下图说明包已经部署成功了
- 现在npm官网搜索刚才的包名,发现已经上传成功了
- 执行npm i dcrpackage-czr 就可以安装使用了
更新已经发布的包
- 更新包的内容,在validare.js中新增一个方法
const Validate = {
mobileCheck: (mobile) => {
let regex = /^[1][3,4,5,7,8][0-9]{9}$/;
return regex.test(mobile);
},
emailCheck: (email) => {
let regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return regex.test(email);
},
}
export default Validate;
- 执行npm version patch命令
- 该命令会在原来版本自动加1,实际上是将package.json的version值修改了
- 该命令会在原来版本自动加1,实际上是将package.json的version值修改了
- 执行npm publish命令
-
重新发布包
-
可以看到已经俩个版本
-
删除包
- 删除指定的版本
-
npm unpublish 包名@版本号
-
如下图,会发现对应版本包已经被删除
-
- 删除整个包
-
npm unpublish 包名 --force
-
会发现包已经没了
-