npm发包

1、使用公司邮箱注册npm账号

npm官网:www.npmjs.com/

进入npm官网,我们成功注册后,进入第二步

2、切换npm源

我们在日常开发过程当中,经常会因为频繁的使用npm,有不同网速的需求,会换源到淘宝源或者华为源等等等。。。。

首先我们切回为npm源,发包要使用npm源

arduino 复制代码
npm config set registry https://registry.npmjs.org/

然后我们需要检查一下是否切换成功。

arduino 复制代码
npm config get registry 

如果输出结果为:

则切换成功!!!

3、发包

此处我以公司项目为例子

一、初始化对应的npm

csharp 复制代码
npm init

根据提示输入你要发的包的名字,然后一直回车,出现Is this OK?的时候, 输入yes回车。最后会生成一个package.json,如下:

javascript 复制代码
{
  "name": "npm-****", // 包名,包名不允许重复,npm i XXX 下载就是按这个包名下载的
  "version": "1.0.0", // 版本号  --默认是1.0.0,当然版本号可以随意更改
  "author": "***", // 作者名称
  "description": "", // 描述信息--可以不写
  "keywords": ["utils", "format", "money", "phone"], // 关键词,提升SEO  --可以不写
  // 代码托管的位置 --可选,建议必选,除非不打算维护
  "repository": {
    "type": "git",
    "url": "https://github.com/xxxx/xxxx.git"  //代码托管地址
  },
  "license": "ISC", // 许可证 
  "homepage": "", // 这个包的介绍网站首页 --可以没有
  "bugs": "", // 使用者bug反馈地址  ---可以没有
  "main": "index.js", // 入口文件  默认是index.js 可修改 必填
  "scripts": {
    // 存放可执行脚本
    "test": "echo "Error: no test specified" && exit 1"
  },
  "dependencies": {
    // 运行依赖
  },
  "devDependencies": {
    // 开发依赖
  }
}

二、登陆npm

复制代码
npm login

根据提示输入你的用户名,密码,其中密码是盲打的,输入完直接回车

登陆完之后,使用

bash 复制代码
npm whoami

查看登陆状态,登陆成功之后,会出现你的用户名

三、查询包是否可发

查看是否可以发包(因为发布的包名必须是唯一的,所以得查看有没有同样的包名),如果包名重复,会发布失败,需要更换成唯一的包名

如果查不到该包名,报错,就说明没有这个包名,代表可以发布

sql 复制代码
npm view 包名

四、更改版本号

我们可以手动更改版本号,也可以通过命令更改版本号,下面是一些更改版本号的命令

arduino 复制代码
npm version xxx   // 自动更改版本号,并且commit
npm version patch // 控制台会返回下一个小版本号 如v1.0.1
npm version minor // minor:次版本号,增加新功能,如 v1.0.0->v1.1.0
npm version major // major:主版本号,不兼容的修改,如 v1.0.0->v2.0.0

五、发布

预发布,版本号包含 alpha/beta/rc 等后缀,比如 1.0.0-beta.1)时,npm 要求必须通过 --tag 指定标签,不能使用默认的 latest 标签(避免预发布版本覆盖正式版本的标签)。

发布时明确指定标签(比如用 beta 标签)

css 复制代码
npm publish --tag beta

调试完成之后,本地打包 npm run build 或者根据配置进行发布:npm run p:beta,如果使用了yalc自动打包调试,直接publish

复制代码
npm publish

六、登录npm包查看

登录npm后,我们可以在package里看到刚才已经发布成功的包

4、测试包

css 复制代码
npm i ***** -S
相关推荐
IT_陈寒22 分钟前
React性能优化实战:这5个Hooks技巧让我的应用快了40%
前端·人工智能·后端
江天澄39 分钟前
HTML5 中常用的语义化标签及其简要说明
前端·html·html5
知识分享小能手42 分钟前
jQuery 入门学习教程,从入门到精通, jQuery在HTML5中的应用(16)
前端·javascript·学习·ui·jquery·html5·1024程序员节
美摄科技1 小时前
H5短视频SDK,赋能Web端视频创作革命
前端·音视频
黄毛火烧雪下1 小时前
React Native (RN)项目在web、Android和IOS上运行
android·前端·react native
fruge1 小时前
前端正则表达式实战合集:表单验证与字符串处理高频场景
前端·正则表达式
baozj1 小时前
🚀 手动改 500 个文件?不存在的!我用 AST 撸了个 Vue 国际化神器
前端·javascript·vue.js
用户4099322502121 小时前
为什么Vue 3的计算属性能解决模板臃肿、性能优化和双向同步三大痛点?
前端·ai编程·trae
海云前端12 小时前
Vue首屏加速秘籍 组件按需加载真能省一半时间
前端
蛋仔聊测试2 小时前
Playwright 中route 方法模拟测试数据(Mocking)详解
前端·python·测试