文章目录
前言
记录一个发布npm包的过程,以及可能遇到的问题和解决方案。
一、详细步骤
1.创建一个npm账号
如果你还没有npm账号,可以在npm官网上注册一个。在注册过程中,你需要提供用户名、密码和邮箱。
2.初始化npm包
也就是生成package.json文件。
- 在本地创建一个空文件夹,命名npm_test
- window+r,然后cmd进入命令行终端
- 进入到刚刚创建的空文件夹: cd Desktop >>> cd npm_test
- 输入命令
npm init 向导式创建 package.json文件
npm init -y 快速生成 package.json文件
配置项包括:
package name | 项目名称 | 例如:test |
version | 版本 | 例如:0.0.1 |
description | 描述信息 | 例如:这是一个测试项目 |
entry point | 项目入口 | 例如:main.js |
test command | 测试命令 | 可跳过 |
git repository | github仓库地址 | 可跳过 |
keywords | 关键字 | 可跳过 |
author | 作者 | 写上自己的署名 |
license: (ISC) | 软件开源许可证 | 可跳过 |
Is this OK? (yes) | 创建确认 | yes |
3.登录npm账号
npm login
按照提示输入你的用户名、密码。
点击登录的时候可能会报一个错:Public registration is not allowed。
npm config list
会看到你的registry = "https://registry.npmmirror.com/",发现registry是阿里的镜像源,所以改一下镜像源即可
; "builtin" config from C:\Program Files\nodejs\node_modules\npm\npmrc
prefix = "C:\\Users\\Administrator\\AppData\\Roaming\\npm"
; "user" config from C:\Users\Administrator\.npmrc
proxy = false
registry = "https://registry.npmmirror.com/"; node bin location = C:\Program Files\nodejs\node.exe
; node version = v18.16.0
; npm local prefix = C:\Users\Administrator\Desktop\npmtest
; npm version = 9.5.1
; cwd = C:\Users\Administrator\Desktop\npmtest
; HOME = C:\Users\Administrator
; Run `npm config ls -l` to show all defaults.
npm config set registry https://registry.npmjs.org/
4.发布npm包
npm publish
// 这个时候可能会报错,这个错是包名称不可用的错误,修改 package.json 的 name 确定其唯一性,修改完成后再次进行 npm publish就可以了
Publishing to https://registry.npmjs.org/ with tag latest and default access
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/test - This package requires that publishers enable TFA and provide an OTP to publish. For more info, visit: https://go.npm.me/2fa-guide
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.
5.更新npm包
如果你需要更新你之前发布的npm包,可以修改package.json文件中的版本号,并确保你的代码已经做出相应的修改,然后再次运行npm publish命令来发布新版本的包。
6.维护npm包
做为一个开发者,一旦你的包发布成功,你就需要维护它。这包括及时响应用户反馈的问题,修复bug,以及不断改进和更新你的包。
二、总结
以上就是如何发布自己的npm包的详细步骤以及一些报错处理,做为一个开发者,请确保你在发布之前进行了充分的测试,并遵循npm的最佳实践和规范,以提供高质量和稳定的包给其他开发者使用。
三、npm安装-D和-S的区别
-S:即--save,是生产环境打包时需要的
-D:即--dev,是在开发环境中协助开发需要使用的
在package.json文件中, -D在devDependencies对象中,-S在dependencies对象中。