2020-12-09 | 参考手册 | UNLOCK | 更新时间:2022-4-2 13:40

发布和维护属于自己的NPM包

NPMjs 包的发布和维护

需要了解

  • 要想发布npm包,你需要注册相应网站的账号 https://www.npmjs.com/

  • npm官方建议规范包至少需要包含以下文件:

    package.json
    README.md
    index.js

index.js (入口文件示例)
var abc=fucntion(){ console.log('abc') } module.exports={abc}
package.json (imgzoom-li 示例)
{ "name": "imgzoom-li", "version": "0.6.5", "description": "一个可以查看图片(可以缩放,拖拽)的JS插件", "main": "./src/imgZoom.js", "keywords": [ "图片", ], "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://github.com/lixianbin1/imgZoom.git" }, "author": "", "license": "ISC", "bugs": { "url": "https://github.com/lixianbin1/imgZoom/issues" }, "homepage": "https://github.com/lixianbin1/imgZoom#readme", "devDependencies": {}, "dependencies": {} }

项目开始

1:初始化项目, -y 用于跳过具体设定(如果已有,可以跳过)

npm inin -y

2:切换到npm的镜像源【如果已经是可以跳过,nrm 为管理工具,需要另行安装】

nrm use npm

3:执行登录命令,输入你的注册账号和公开联系邮箱进行登录

npm login

4:执行发布命令发布

npm publish # npm publish –access public

** 注意:更新命令和发布命令一样,你只需要改动 package.json 的版本号

在 npm 发布携带@私有名的公共包

{
  // 修改名称为 
  "name": "@lixianbin1/imgZoom",
}

npm publish –access public

github 包的发布和维护

需要了解

  • 要想发布github上发布包,你需要先在github上申请 Personal access tokens(个人访问令牌)

  • github同样需要包含以下文件:

    package.json
    README.md
    index.js

项目开始

1:初始化项目, -y 用于跳过具体设定(如果已有,可以跳过)

npm inin -y

index.js (入口文件示例)
var abc=fucntion(){ console.log('abc') } module.exports={abc}

2:修改package.json,添加以下代码

"name": "@lixianbin1/toolbox-li",
"publishConfig": {
    "registry":"https://npm.pkg.github.com/"
},

3:执行登录命令,输入你的注册账号和申请的token(password不是填写密码,是填写token),及公开联系邮箱进行登录

npm login –registry=https://npm.pkg.github.com

4:执行发布命令

npm publish

可选的操作

通过 uglifyjs 进行压缩

安装

npm install uglify-js -g

命令

uglifyjs xxx.js  -c -o xxx.min.js   # 压缩命令 -c压缩 -o输出 

-b 美化, 美化会影响压缩【

可能的报错

** code E400 **

项目名称不能有大写字母,将 package.json 内的项目名称改成小写

** code E402 **

在项目以@开头的时候,默认发布为私有包,需要注册组织才能发布,你可以使用 npm publish –access public 发布@开头的公有包。

** code E403 **

没有权限发布,看下你是否登录了,或者项目名称和已经发布的项目有冲突,你可能需要改名;或者版本号没有更改

PUSH版本后,安装拉取还是旧版本

源镜像未拉取新代码,可以取源镜像,点击同步更新。

https://npmmirror.com/package/imgzoom-li

NPM