-

在npm上发布自己的npm包(图文教程)

npm 是 Node.js 官方提供的包管理工具,他已经成了 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

npm创建账户
在浏览器中输入:https://www.npmjs.com/ 进入npm官网 创建账号,并且需要通过邮箱验证才可以发布包

创建package.json文件
cmd里输入npm init来创建package.json文件
{
  "name": "xiyueta",
  "title": "xiyueta.js",
  "version": "1.3.8",
  "description": "JavaScript library for html string  operations",
  "license": "MIT",
  "scripts": {
    "test": "node debug/nodejs/test.js"
  },
  "author": {
    "name": "xiyueta",
    "email": "313801120@qq.com",
    "url": "https://xiyueta.com/"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/313801120/xiyueta.git"
  },
  "keywords": [
    "xiyueta",
    "xiyueta.js",
    "xiyuetaJS library",
    "cheerio",
    "htmlparser",
    "jquery",
    "selector",
    "scraper",
    "parser",
    "html"
  ],
  "bugs": {
    "url": "https://github.com/313801120/xiyueta/issues"
  },
  "homepage": "https://xiyueta.js.org/",
  "main": "dist/nodejs.xiyueta.min.js",
  "dependencies": {
  }
}

发布npm包
进入cmd
npm adduser 添加账号,根据提示输入账户名、密码和邮箱即可,还需要邮箱验证Code
npm login 登录登录,根据提示依次输入账号,密码,邮箱
使用npm login报错: 输入 npm config set registry https://registry.npmjs.org/
npm publish命令进行发布啦。
更新npm包也是使用npm publish命令发布,不过必须更改npm包的版本号,也就是package.json中的version字段,否则会报错
npm config get registry 查看配置源网址

git config --global user.email "313801120@qq.com"
git config --global user.name "xiyueta"
C:\Program Files\Git\usr\bin
ssh-keygen -t rsa -C "313801120@qq.com" 生成SSH密码
git clone +你需要克隆的链接 如 git clone git@github.com:313801120/xiyueta.git

npm adduser 添加账号

执行npm adduser的时候总是报错,说账号或者密码不对,但是我很确定账号、密码是正确的。
根本原因是:我的npm仓库是不对的,我之前设置过的淘宝镜像的地址。需要将淘宝镜像的地址设置回来:

设置淘宝镜像的是:npm config set registry https://registry.npm.taobao.org
不想用他们的,再设置回原来的就可以了:npm config set registry https://registry.npmjs.org

创建一个 npm auto.bat 批处理文件,双击批处理文件,输入y提交到npm

@echo off

e:
cd D:\work\git\npm\node_modules\xiyueta


Echo is update npm?
:again
set /p yn='Y'.... 'N':
if %yn%==y goto cont
if %yn%==Y goto cont
if %yn%==n goto end
if %yn%==N goto end
echo "key err!"
goto again
:cont

npm publish

Echo yes ok npm ...
 
pause



在更新npm的时候,需要改下 package.json 文件里的 "xiyueta": "^1.3.8" 版本号,要比之前发布的版本号大才可以

npm publish 更新npm到新版本

npm命令
进入cmd
npm > 输入需要操作的命令

npm i xiyueta                  安装xiyueta包
npm view xiyueta version       查看xiyueta包最新版
npm info xiyueta               查看xiyueta包最新版更详细介绍
npm view xiyueta versions      查看xiyueta包全部版本
npm ls xiyueta                 查看本地xiyueta包版本号
npm ls xiyueta -g              查看全局xiyueta包版本号
npm outdated                   显示需要更新的包列表
npm update xiyueta             更新xiyueta包
npm uninstall xiyueta          删除xiyueta包
npm config get registry        查看配置源网址
            

安装cnpm
cnpm是个中国版的npm,是淘宝定制的 cnpm (gzip 压缩支持) 命令行工具

进入cmd 输入
npm install -g cnpm --registry=https://registry.npm.taobao.org

安装nrm包 查看所有 包下载路径, 也就是存放包的不同位置,自然就有取包的速度区分
cnpm i nrm -g

安装cnpm nrm ls 查看所有 包下载路径