npm 发包

1. 初始化package.json

npm init

结果:

{
  "name": "react-pc-ui", 
  "version": "1.0.0",
  "description": "\"React PC 组件库(React pc component library)\"",
  "main": "index.js", // publish 入口
  "scripts": {
    "start": "webpack-dev-server --open --config ./build/webpack.dev.config.js",
    "build:component": "webpack --config ./build/webpack.dist.component.config.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/xxx/xxx.git",
    "webpack": "v4.6.0",
    "webpack-cli": "^2.0.14",
    "node": "v8.11.1",
    "npm": "v5.6.0"
  },
  "keywords": [
    "React",
    "PC",
    "component",
    "library",
    "antd",
    "JavaScript",
    "UI",
    "redux",
    "react-redux",
    "react-router",
    "webpack"
  ],
  "author": "https://github.com/lianpf",
  "license": "ISC",
  "devDependencies": {
    "uglifyjs-webpack-plugin": "^1.2.5",
    "url-loader": "^1.0.1",
    "webpack": "^4.6.0",
    "webpack-cli": "^2.0.14",
    "webpack-dev-server": "^3.1.3",
    "webpack-merge": "^4.1.2"
  },
  "dependencies": {
    "classnames": "^2.2.5",
    "react": "^16.3.2",
    "react-dom": "^16.3.2",
    "react-redux": "^5.0.7",
    "react-router": "^4.2.0",
    "react-router-dom": "^4.2.2",
    "react-router-redux": "^4.0.8",
    "redux": "^4.0.0"
  }
}
  • name:填写你这个包的名字,默认是你这个文件夹的名字。不过这里要着重说一下,最好先去npm上找一下有没有同名的包。最好的测试方式就是,在命令行里面输入npm install 你要取的名字,如果报错,那么很好,npm上没有跟你同名的包,你可以放心大胆地把包发布出去。如果成功下载下来了。。。那么很不幸,改名字吧。。。
  • version:你这个包的版本,默认是1.0.0
  • description:描述你的包是干嘛用的
  • main:入口文件,默认是Index.js,你也可以自己填写你自己的文件名
  • test command:测试命令,这个直接回车就好了,目前还不需要
  • git repository:这个是git仓库地址, 如果没有的话,直接回车继续。
  • keyword:这个是一个重点,这个关系到有多少人会搜到你的npm包。尽量使用贴切的关键字作为这个包的索引
  • author:写你的账号或者你的github账号吧
  • license:开源文件, 直接回车

2. 验证npmjs账号

初次

npm addser

非初次

npm login

3. 发版

npm publish

4. 验证安装

npm install xxx --save-dev

5. 可能遇到的问题

镜像问题

no_perms Private mode enable, only admin can publish this module

或者publish成功, 但是npm.js个人信息哪里查看不到包

那么可能是你用了国内的镜像地址了,只需要重新把地址注册回npmjs即可

$ npm config set registry http://registry.npmjs.org // 重新把地址注册回npmjs

发布之后, 再重新设置为淘宝镜像或者你们公司自己的镜像

命名问题

npm ERR! you do not have permission to publish "your module name". Are you logged in as the correct user?

提示没有权限,其实就是你的module名在npm上已经被占用啦,这时候你就去需要去https://www.npmjs.com搜索你的模块名称,如果搜索不到,就可以用,
并且把package.json里的name修改过来,重新npm publish

首先来科普一下版本号的定义(了解的可以直接跳过了)

major 主要更新
minor 次要更新
patch 补丁
prerelease 预览版
举个例子: “2.3.4-alpha.3” ==“major.minor.patch-prerelease”

软件版本命名规范:
软件版本号由四部分组成:第一个部分为主版本号,第二部分为次版本号,第三部分为修订版本号,第四部分为日期版本号+希腊字母版本号,如alpha、beta、release等,如图:
在这里插入图片描述
那么,了解了版本号的组成后,项目每发一次版应该怎么去合理的添加对应标识呢?看图解:
在这里插入图片描述

温馨提示:在我们开发 sdk 时,每次发版可以依据上面的描述来添加对应的标识,从而可以避免sdk版本号的不断升级(实际上没有那么快的更新迭代)。

参考文章:https://www.jianshu.com/p/1b80e072c0dc
版本好规则可参考:react 版本号规则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值