当前位置: 首页 > news >正文

在npm发布自己的组件包

目录

前言

正文

npm和git的对比

Node环境的配置

具体发布步骤

※※需要注意的是

尾声


 

  • 🔭 Hi,I’m Pleasure1234
  • 🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.
  • 👯 I’m studying in University of Nottingham Ningbo China
  • 📫 You can reach me by url below:
  • My Blog Website: https://blog.yiming1234.cn 
  • My CSDN Blog: https://yiming1234.blog.csdn.net
  • My Email:Pleasure@yiming1234.cn
  • My Github:Pleasurecruise (自由的世界人) · GitHub
  • It's my pleasure to see you follow me!

原文地址:在npm发布自己的组件包 - Pleasure的博客

下面是正文内容:


前言

在学习前端的时候遇到的一个有趣的点,就稍微总结了一下

一个小的技巧,值得被记录

正文

npm和git的对比

NPMGIT
主要用途npm是用于管理JavaScript和Node.js项目依赖包的工具。
它允许开发者下载、安装、更新和删除项目所需的各种库和模块。
Git是一个分布式版本控制系统,用于跟踪代码变化,协作开发,以及管理代码历史。
它帮助开发者在团队中协作,管理不同版本的代码,并且可以回溯到以前的代码状态。
版本控制npm通过注册表(如官方的npm注册表或其他镜像)来存储和分发包。
开发者可以使用npm install命令来安装依赖包,并使用npm publish命令发布自己的包到npm注册表。
Git通过快照来管理代码的每一个版本,可以记录每次的改动,并可以随时恢复到任何一个历史版本。
使用命令如git commitgit pushgit pull来提交、推送和拉取代码变更。
使用特色项目中通常有一个package.json文件,用于列出项目的依赖包、脚本、版本等信息。
npm允许在package.json中定义脚本,通过npm run <script-name>来执行这些脚本,简化开发流程。
Git允许创建和管理分支,开发者可以在不同分支上并行工作,然后合并这些分支。
Git支持远程仓库(如GitHub、GitLab、Bitbucket),开发者可以将本地代码推送到远程仓库,与他人协作。

总结:这两者在前端和后端开发中都起着至关重要的作用,但它们解决的问题和用途完全不同。npm主要解决包管理问题,而Git主要解决版本控制和代码协作问题。

Node环境的配置

由于不同的node组件包支持的nodejs版本不同

所以就如同python通过pyenv来进行版本控制一样,nodejs也可以通过nvm来进行版本控制

使用的方法非常简单,先彻底的卸载电脑中之前的nodejs,包括ProgramData和注册表中的文件

然后在下面的这个网址中选择可执行文件(nvm-setup.exe)来进行安装

Releases · coreybutler/nvm-windows · GitHub

安装完成后打开命令行输入nvm -v,可以看到安装成功

接着输入nvm list available,可以显示部分支持安装的npm包

通过nvm install 22.2.0nvm use 22.2.0来使用最新的nodejs环境

原域名https://registry.npm.taobao.org/在 2022.06.30 号正式下线和停止DNS 解析

下面是一些常用的npm指令

查看镜像使用状态

npm config get registry

设置镜像源

npm config set registry https://registry.npmmirror.com

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

安装cnpm

npm install -g cnpm --registry=https://registry.npmmirror.com

清空npm缓存

npm cache clean --force

具体发布步骤

①首先在下面的网址注册自己的账号

npm | Home

每次在进行账户的注册和登录操作时邮箱会都收到一个8位的验证码

②注册完成后,就需要准备一个node组件包

可以参考下面的图片和代码创建,输入下面的图片创建一个空白的npm项目

mkdir yiming-test //创建空白项目目录
cd yiming-test //定位到项目目录
npm init -y //初始化,创建package.json文件
npm install //自行进行项目编写,下载需要的npm模块

③然后就是将项目文件打包并发布

npm login //登录上面注册的账户
npm pack //组件打包
npm publish //组件发布

这里你可能会遇到问题可以直接看下面的“需要注意的是”

④验证刚刚发布的组件包

npm在执行install操作的时候,会先安装package.json文件中指定的依赖项,然后运行测试

由于我上传的测试组件包中只包含一个初始的package.json文件,没有任何的依赖项,所以在npm install的时候在指定目录下没有任何文件生成

※※需要注意的是

本人尝试使用淘宝中国大陆的镜像,似乎是无法用命令行进行登录操作的

会显示如下的报错(https://registry.npm.taobao.org),或者跳转网页(https://registry.npmmirror.com),都无法进行登录

这时就需要切换到官方的npm地址来进行用户的登录操作!登录时会跳转到如下的这个界面。

尾声

指引型博文,几乎不包含任何专业知识,就挺酷的,大家可以试试看。

相关文章:

  • 编程规范-代码检测-格式化-规范化提交
  • 安徽京准NTP时钟系统:GPS北斗卫星授时下的生活重塑
  • 2559. 统计范围内的元音字符串数(前缀和) o(n)时间复杂度
  • k-means聚类模型的优缺点
  • 后端 excel的导入
  • 探索k8s集群的配置资源(secret和configmap)
  • 自然语言处理(NLP)—— 主题建模
  • WMS仓储管理系统高效驱动制造企业物料管理
  • dart 基本语法
  • 【Python】认识 Python
  • 【设计模式之外观模式 -- C++】
  • 【数据结构】栈和队列-->理解和实现(赋源码)
  • width: 100%和 width: 100vw这两种写法有什么区别
  • 大模型参加高考,同写2024年高考作文,及格分(通义千问、Kimi、智谱清言、Gemini Advanced、Claude-3-Sonnet、GPT-4o)
  • 2024年安全现状报告
  • avalon2.2的VM生成过程
  • JS基础之数据类型、对象、原型、原型链、继承
  • js作用域和this的理解
  • NSTimer学习笔记
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • 电商搜索引擎的架构设计和性能优化
  • 和 || 运算
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 十年未变!安全,谁之责?(下)
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 找一份好的前端工作,起点很重要
  • 积累各种好的链接
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • # Apache SeaTunnel 究竟是什么?
  • ## 基础知识
  • #考研#计算机文化知识1(局域网及网络互联)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • %check_box% in rails :coditions={:has_many , :through}
  • (10)ATF MMU转换表
  • (27)4.8 习题课
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C语言)字符分类函数
  • (done) 声音信号处理基础知识(2) (重点知识:pitch)(Sound Waveforms)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (备份) esp32 GPIO
  • (二)JAVA使用POI操作excel
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (剑指Offer)面试题34:丑数
  • (每日一问)基础知识:堆与栈的区别
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)菜鸟学数据库(三)——存储过程
  • ******之网络***——物理***
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET设计模式(11):组合模式(Composite Pattern)
  • @Autowired 和 @Resource 区别的补充说明与示例
  • @Repository 注解