发布自己的npm包

发布自己的npm包,第1张

1.准备工作gitee/github(不推荐)创建一个仓库

也可以先写代码后推送仓库 , 为避免不必要错误 , 最好先创建仓库
我这里采用第一种:

2.创建好后 , 克隆到本地 , 对工具包进行封装并导出

format.js

// c. validate.js 校验文件

// 解决toFixed保留小数的问题

const formatToFixed = (money, decimals = 2) => {

    return (

      Math.round(

        (parseFloat(money) + Number.EPSILON) * Math.pow(10, decimals)

      ) / Math.pow(10, decimals)

    ).toFixed(decimals);

  }

const Format = {

  // 格式化金额展示: 12341234.246 -> $ 12,341,234.25

  formatMoney: (money, symbol = "", decimals = 2) =>

    formatToFixed(money, decimals)

      .replace(/\B(?=(\d{3})+\b)/g, ",")

      .replace(/^/, `${symbol}`),

};

  

export default Format;

validate.js

// b. format.js 格式化文件

const Validate = {

    /**

     * 手机号校验

     */

    mobileCheck: (value) => /^[1][3,4,5,7,8][0-9]{9}$/.test(value),

    /**

     * 身份z校验

     */

    IDCardCheck: (value) =>

      /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(

        value

      ),

    /**

     * 邮箱校验

     */

    emailCheck: (value) =>

      /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(value),

  };

  export default Validate;

index.js

// a. index.js 入口文件

import Format from "./src/format";

import Validate from "./src/validate";

  

export { Format, Validate };
3. 工具初始化

在项目根目录下执行

3.1 npm init

得到一个package.json, 生成过程大部分只要enter 后面可以按需要修改

{
  "name": "npm-jackson3791", // 包名,必须要独一无二
  "version": "1.0.0", // 版本号
  "author": "jackson3791", // 作者
  "description": "npm测试包 仓库", // 描述信息
  "keywords": ["utils", "format", "money", "phone"], // 关键词,提升SEO
  "repository": {
    // 代码托管位置
    "type": "git",
    "url": "https://github.com/jackson3791/npm-jackson3791"
  },
  "license": "ISC", // 许可证
  "homepage": "https://your-package.org", // 包的主页或者文档首页
  "bugs": "https://gitee.com/huang-jiajin/npm-jackson3791/issues", // 用户问题反馈地址
  "main": "index.js", // 入口文件
  "scripts": {
    // 存放可执行脚本
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    // 运行依赖
  },
  "devDependencies": {
    // 开发依赖
  }
}

3.2 发布前准备工作 , 先把镜像源更换到 npm 源
// 查看npm镜像源地址 
npm config get registry // 切换npm镜像源 

// 设置npm默认源 
npm config set registry https://registry.npmjs.org/ 


// 设置npm镜像源为淘宝镜像,完成后自行恢复
npm config set registry https://registry.npm.taobao.org/
3.3 先把代码发布到仓库进行保存备份(无先后顺序)
git add . 
git commit -m "first commit" 
git branch -M master git remote add origin https://github.com/jackson3791/npm-jackson3791 
git push -u origin master
3.4 登录(创建)npm 设置动态校验

创建好 npm 账号后

3.4.1 npm近期增加了 动态验证码校验 , 需要设置 动态验证

3.4.1.1 首先登录npm账号

3.4.1.2 找到 two-factor authentication 点击Enable 2FA

3.4.1.3 手机下载 Authentication 这个APP 微软出品
3.4.1.4 打开app 手机直接添加账号 => 其它账户 =>

手机直接扫码 => 手机app自动生成账户 , 点击就可查看动态令牌

扫描后还要手动输入一次令牌进行确认

成功!

3.5 根目录下 登录npm并发布
// 登陆
npm login

// 控制台会提示输入相关信息
Log in on https://registry.npmjs.org/
Username:  // 用户名
Password: // 密码
Email: (this IS public) // 邮箱
Enter one-time password: //  双因素身份验证 (2FA),需要生成一次性密钥(手机app的动态验证码)
Logged in as xxx on https://registry.npmjs.org/.


//发布
npm publish

发布前输入前还会校验一次(输动态验证码)

3.6 发布完成 , npm官网查看并试用

试用: 随便一个项目根目录 安装 npm install npm-jackson3791

使用–看控制台就知道有没有 , 也可以直接去 node_modules文件夹查看有没有npm-jackson3791

import { Format, Validate } from 'npm-jackson3791'

console.log(Format.formatMoney(12341234.246, '$', 2)) // ,341,234.25

console.log(Validate.mobileCheck('123456')) // false
3.7 更新

更改内容后 直接输入 npm version patch 自动返回下一个版本号=>package.json里面的版本号会自动修改


然后重新发布 npm publish

发布成功

//常用发布命令

// 自动更改版本号,并且commit (会将版本号改为指定xxx版本)
npm version xxx 

// 自动更新为下一个小版本号 如v1.0.1 
npm version patch 

// 重新发布 
npm publish

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1324700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存