npm发布包

195 阅读1分钟

登录npm

  • 打开终端,输入npm login

图片.png

  • 浏览器打开对应网址,输入自己绑定的邮箱,如果没有邮箱去官网注册,官网地址www.npmjs.com/

图片.png

  • 现在就可以看到登录进来的页面了

图片.png

编写发布npm包

  • 新建发布包目录,npm init初始化包,按照如下流程 图片.png

  • 创建目录结构

- 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

图片.png

这个报错查询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 如下图说明包已经部署成功了 图片.png

  • 现在npm官网搜索刚才的包名,发现已经上传成功了 图片.png
  • 执行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值修改了 图片.png
  • 执行npm publish命令
    • 重新发布包 图片.png

    • 可以看到已经俩个版本 图片.png

删除包

  • 删除指定的版本
    • npm unpublish 包名@版本号 图片.png

    • 如下图,会发现对应版本包已经被删除 图片.png

  • 删除整个包
    • npm unpublish 包名 --force 图片.png

    • 会发现包已经没了 图片.png