包管理工具--》发布一个自己的npm包

包管理工具系列文章目录

一、包管理工具--》npm的配置及使用(一)

二、包管理工具--》npm的配置及使用(二)

三、包管理工具--》发布一个自己的npm包

四、包管理工具--》yarn的配置及使用

五、包管理工具--》其他包管理器之cnpm、pnpm、nvm

目录

🌟准备工作

1.使用官方镜像源

2.到npm官网注册一个账号,并完成邮箱认证

[3.本地使用 npm cli 进行登录](#3.本地使用 npm cli 进行登录)

4.创建工程根目录

[5.使用npm init进行初始化](#5.使用npm init进行初始化)

🌟发布

1.开发

2.确定版本

[3.使用命令npm publish完成发布](#3.使用命令npm publish完成发布)

4.使用自己的包

🌟写在最后


🌟准备工作

1.使用官方镜像源

查看当前配置的镜像源:

npm config get registry

如果是使用的其他源,请改回官方源

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

2.到npm官网注册一个账号,并完成邮箱认证

官网可视化注册:

命令行注册

使用命令 npm adduser

依次输入Username、Password、Email完成注册

3.本地使用 npm cli 进行登录

使用命令npm login登录

使用命令npm whoami查看当前登录的账号

使用命令npm logout注销

4.创建工程根目录

根文件夹名一般就用包名,命名的话先去npm官网搜一下,搜不到的话就可以用来命名自己的包

5.使用npm init进行初始化

需要填写内容如下:

1.package name: (npm)

包名:

2.version: (1.0.0)

版本号(回车默认1.0.0版本号)

3.description:

包的描述

4.entry point: (index.js)

入口文件(回车默认index.js文件)

5.test command:

测试命令(可跳过)

6.git repository:

GitHub地址(可跳过)

7.keywords: ghmin

搜索关键字

8.author: ghmin <208700105@qq.com>

作者

9.license: (ISC)

开源协议

上面第9条开源协议类型大致如下:

我们这里就使用MIT协议 ,这个网站可以查看各种协议就具体协议内容Appendix | Choose a Licensehttps://choosealicense.com/appendix/

既然选择了开源协议,那通常会在项目中加上协议内容,在项目根目录新建文件LICENSE,文件名固定,然后进入上面网址,找到MIT协议:

复制代码
将协议内容复制到项目LICENSE文件,并修改许可年限及作者(公司)
MIT License

Copyright (c) 2023-2099 ghmin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

🌟发布

1.开发

这里就简单导出一个函数测试

2.确定版本

检查包信息,如版本号等,也就是检查package.json文件

3.使用命令npm publish完成发布

发布成功后就可以去npm官网搜索,可以看到已经有刚刚发布的包啦

4.使用自己的包

新建一个文件,下载刚刚发布的ghmin-test包,并使用如下

这样一来就有了一个自己发布的包啦,接下来就可以退出登录,把镜像改回淘宝镜像喽。

🌟写在最后

包管理工具--》栏目将详细讲解前端包管理器,包括npm,yarn,及其他包管理器,如果文中出现有瑕疵的地方各位通过评论或者私信联系我,我们一起进步,有兴趣的伙伴可以关注订阅一下:点击查看更多实用技巧与知识

相关推荐
qz_Serene4 小时前
C++:类和对象(上)
开发语言·c++
西安景驰电子4 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
ctlover4 小时前
Python文件操作
开发语言·python
luj_17684 小时前
塔防牌:策略与卡牌的智慧碰撞
服务器·c语言·开发语言·经验分享·算法
ZJU_统一阿萨姆4 小时前
【DSH】如何将 DeepSeek Harness 嵌入生产环境?万字解构 DeepSeek Agent Harness 的运行机制与安全边界
前端·javascript·安全
用户921080262864 小时前
4. 前端地图大量点位实时更新优化:后端推增量,前端做 diff
前端
wuyk5555 小时前
3.链表:用指针串联的动态数据结构
c语言·开发语言·数据结构·链表
SoaringHeart5 小时前
Flutter最佳实践:Web项目中文字体首次加载乱码问题解决
前端·flutter
西安小哥5 小时前
破局与重生:大厂前端如何借力 AI 转型“超级全栈“
前端·人工智能
weixin_383196475 小时前
java基础面试题@Autowired和@Resource区别
java·开发语言