发布插件到npm上

  |  

1.创建文件
mkdir model-dao
cd model-dao
npm init

npm init会要求填写一堆的信息,这些信息会在package.json里体现,例如
{
“name”: “model-dao”,
“version”: “1.0.0”,
“description”: “dao层”,
“main”: “index.js”,
“scripts”: {
“test”: “echo "Error: no test specified" && exit 1”
},
“bin”: {
“model-dao”: “./index.js”
},
“author”: “klover”,
“license”: “ISC”,
“dependencies”: {
“chance”: “^1.1.3”,
“moment”: “^2.24.0”
}
}

2.在model-dao项目里建立一个index.js

3.目录model-dao里就只有如下
index.js
package.json

4.到https://www.npmjs.com注册一个账号,注册完后

5.添加用户: npm adduser

  1. npm publish

7.添加注释文件
README.md
修改package.json文件中的”version”: “1.0.3”,

8.发布 npm publish

  1. 取消发布 npm unpublish --force 删除发布的包 24小时内可以取消
  2. 取消发布的某个版本 npm unpublish node-wxpay3@1.0.0 24小时内可以取消

添加要发布的文件

黑名单方式 .npmignore > .gitignore

白名单方式 在pack.json 添加 files:['dist'] 要发布files 文件,当文件少时 推荐使用

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
出现的问题:

  1. 出现这个错误 no_perms Private mode enable, only admin can publish this module

错误输出内容

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! no_perms Private mode enable, only admin can publish this module:
出现原因:使用的是淘宝源cnpm,登陆到的是cnpm
解决方法:切换到npmjs的网址,代码如下

npm config set registry http://registry.npmjs.org/

设为淘宝镜像

npm config set registry http://registry.npm.taobao.org/

  1. You do not have permission to publish “npmtest”. Are you logged in as the correct user?

错误输出内容

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! You do not have permission to publish “npmtest”. Are you logged in as the correct user? :
出现原因:所要publish的包的name和npmjs网上已经发布的包的名字重复,所以收你没有权限发布这个名字的包。(简单解释就是你想要的名字被别人抢先注册了)
解决方法:找到package.json文件,把name的值换掉。如果还出现上述错误就是还是重名的,继续换!

文章目录
  1. 1. 添加要发布的文件