一、新建文件夹
gzmTestNode
二、npm init
{
"name": "gzmTestNode",
"version": "1.0.0",
"description": "处理不同日期函数组件",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "xxx", // 作者名称
"license": "ISC"
}
三、新建 index.js文件,为 main入口
export function add(a, b) {
console.log(a + b, '8989')
}
四、发布包
4.1、注册 npm 账号
- 访问 npm 网站,点击 sign up 按钮,进入注册用户界面 填写账号相关的信息:Full Name、Public
- Email、Username、Password 点击 Create an Account 按钮,注册账号
- 登录邮箱,点击验证链接,进行账号的验证
4.2、登录 npm 账号
npm 账号注册完成后,可以在终端中执行 npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。
注意:在运行 npm login 命令之前,必须先把下包的服务器地址切换为 npm 的官方服务器。否则会导致发布包失败!
查看服务器地址:
npm config get registry
设置 npm 服务器地址
npm config set registry https://registry.npmjs.org
设置 taobao 服务器地址
https://registry.npm.taobao.org/
4.3、把包发布到 npm 上
将终端切换到包的根目录之后,运行 npm publish 命令,即可将包发布到 npm 上(注意:包名不能雷同)。
4.4、删除已发布的包
运行 npm unpublish 包名 --force 命令,即可从 npm 删除已发布的包。
注意
- npm unpublish 命令只能删除 72 小时以内发布的包
- npm unpublish 删除的包,在 24 小时内不允许重复发布
- 发布包的时候要慎重,尽量不要往 npm 上发布没有意义的包
npm login遇到的问题?
一、首先检查自己的npm地址是否正确:
npm config get registry
- 真实地址应该是:https://registry.npmjs.com,这里解释下为什么是com,我反复测试了多次,发现org已经无法登录了。
- 由于国内环境,大家可能都开启了国内的镜像,目前阿里提供的cnpm也已经更新了新的镜像。如果需要更改为npm原地址:git config set registry https://registry.npmjs.com
- 解决问题时,网上还有的是让大家把proxy设置为null,git config set proxy null,笔者当时未有这个问题,这里记录以下。
二、npm 发布
这里当初我已经更改了com地址了,登录成功后,发布时又失败了。一顿苦恼,感慨自己的愚蠢。
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.com/node-js - You do not have permission to publish "node-js". Are you logged in as the correct user?
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.
- 报错信息已经很明确,发布的包名可能不是自己的,没有权限。查看下自己package.json中name的字段,是否是自己的包。
参考链接:https://blog.csdn.net/weixin_52851967/article/details/128568268
参考链接:https://www.jianshu.com/p/2642aff6b9ff