在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地址来进行用户的登录操作!登录时会跳转到如下的这个界面。

尾声

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/343724.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

金融领域的AI解决方案

AI可赋能金融营销、资管、风控等领域&#xff0c;面向金融消费者、金融机构和金融监管机构&#xff0c;改善金融 市场信息对称性并提升金融交易的效率和安全性。目前&#xff0c;金融行业各机构对于安全认证和客户身份识别的需求较为迫切&#xff0c;身份识别和智能客服应用和落…

如何在没有密码的情况下解锁iPhone

通常&#xff0c;您可以使用密码、FaceID 或 Touch ID 轻松解锁 iPhone。但是&#xff0c;有时您可能会忘记密码、iPhone 已停用或您的二手手机已锁定。在这种情况下&#xff0c;您必须绕过 iPhone 密码才能访问您的设备。在本文中&#xff0c;我们将向您介绍 5 种经过测试的方…

JavaEE初阶---多线程编程(一.线程与进程)

目录 &#x1f923;一.线程与进程的概念与联系&#xff1a; 进程的基本概念&#xff1a; 线程的基本概念&#xff1a; 进程和线程的区别与联系&#xff1a; &#x1f643;代码执行实列&#xff1a; 1.通过继承Thread父类来实现多线程 2.通过实现Runnable接口来实现多线程…

Leetcode3171. 找到按位与最接近 K 的子数组

Every day a Leetcode 题目来源&#xff1a;3171. 找到按位与最接近 K 的子数组 解法1&#xff1a;位运算 优化&#xff1a; 代码&#xff1a; /** lc appleetcode.cn id3171 langcpp** [3171] 找到按位与最接近 K 的子数组*/// lc codestart class Solution { public:int m…

路由器作为网络扩展器——设置桥接、路由模式

下面提到的路由器都是家用路由器 一、有线桥接(交换模式) 1.连接示意图 (副路由器只看交换模式部分) 副路由器充当交换机的角色 二、无线桥接(与有线类似) &#xff08;副路由器的无线信号 连接 主路由器的无线信号&#xff09; 三、路由模式 1.连接示意图 (副路由器只看…

RT-DETR 详解之 Efficient Hybrid Encoder

在先前的博文中&#xff0c;博主介绍了RT-DETR在官方代码与YOLOv8集成程序中的训练与推理过程&#xff0c;接下来&#xff0c;博主将通过代码调试的方式来梳理RT-DETR的整个过程。 整体结构 RT-DETR的代码调试大家可以参考博主这篇文章&#xff1a; 在梳理整个代码之前&…

Serverless 使用OOS将http文件转存到对象存储

目录 背景介绍 系统运维管理OOS 文件转存场景 前提条件 实践步骤 附录 示例模板 背景介绍 系统运维管理OOS 系统运维管理OOS&#xff08;CloudOps Orchestration Service&#xff09;提供了一个高度灵活和强大的解决方案&#xff0c;通过精巧地编排阿里云提供的OpenAPI…

监控摄像机接入GB28181平台如何获取监控视频

各种型号监控摄像头或硬盘录像机接入 GB28181平台配置过程非常简单明了&#xff0c;但有些细节需要注意&#xff0c;避免走弯路。 1、基本要求 &#xff08;1&#xff09;网络要求 总的来说&#xff0c;只要监控设备和GB28181平台的网络是连通的&#xff0c;设备可以主动访问…

2024 cicsn SuperHeap

文章目录 参考沙箱存在protobuf逆向buy_booksee_bookreturn_bookedit_booksearch_book 思路exp 参考 https://hakuya.work/post/7 https://akaieurus.github.io/2024/05/20/2024%E5%9B%BD%E8%B5%9B%E5%88%9D%E8%B5%9Bpwn-wp/#SuperHeap https://blog.csdn.net/m0_63437215/art…

mysql工具----dbForgeStudio2020

dbForgeStudio2020&#xff0c;除了基本的操作外&#xff0c;还具有可调试mysql存储过程的功能&#xff0c;是一个不可夺得的mysql软件工具。 本文的软件将简单介绍软件的安装方式&#xff0c;仅供学习交流&#xff0c;不可做它用。 1.安装软件&#xff0c;安装后&#xff0c…

Linux 中常用的设置、工具和操作

1.设置固定的ip地址步骤 1.1 添加IPADDR“所设置的固定ip地址” TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no" BOOTPROTO"static" DEFROUTE"yes" IPV4_FAILURE_FATAL"no" IPV6INIT"yes" IPV6…

Intel x86+FPGA:智能AI计算机系统在支气管导航机器人的应用

随着人工智能的快速发展、技术的突破及应用领域的逐渐广泛化。医疗机器人作为人工智能时代在医疗领域应用的深化&#xff0c;能够有效帮助医生进行一系列的医疗诊断和辅助治疗&#xff0c;在有效缓解医疗资源紧张的问题下推动医疗信息化的发展。 智慧医疗场景应用 从应用场景来…

论文阅读 A Distributional Framework for Data Valuation

本论文解决的问题 量化数据价值&#xff08;机器学习模型训练中各个数据点的贡献&#xff09; 避免数据价值受到其所处数据集的影响&#xff0c;使数据点的估值更加稳定、一致 变量假设 假设 D 表示一个在全集 Z 上的数据分布。对于监督学习问题&#xff0c;我们通常认为 Z…

力扣 74.搜索二维矩阵

题目描述&#xff1a; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&am…

走进 Apache 世界的另一扇大门

引言 作为热爱技术的你&#xff0c;是否也羡慕 Apache PMC 或者 Committer&#xff0c;此篇文章渣渣皮带你迈出如何成为技术大牛的第一步。 当然我现在还是一枚小小的 code contributor&#xff0c;在成为 committer 的路上还在奋力打码中&#xff0c;写这篇文章也是为大家有…

tailwindcss的@apply使用

tailwindcss的apply是把在html写的tailwindcss可以挪到style里面 简化页面的可读性 没写之前的 <section class"block-risk absolute flex flex-col items-center p-4 text-center left-0 text-white;" :style"{ top, left: 60px }"> </section…

【Java】解决Java报错:ArrayIndexOutOfBoundsException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 直接访问数组越界2.2 循环中的索引错误2.3 多维数组的错误访问 3. 解决方案3.1 检查数组长度3.2 正确使用循环3.3 多维数组的正确访问 4. 预防措施4.1 使用增强型 for 循环4.2 编写防御性代码4.3 单元测试 结语 引言 在Java编程…

数据脱敏技术方案选择(word)

1 概述 1.1 数据脱敏定义 1.2 数据脱敏原则 1.2.1基本原则 1.2.2技术原则 1.2.3管理原则 1.3 数据脱敏常用方法 3.1.1泛化技术 3.1.2抑制技术 3.1.3扰乱技术 3.1.4有损技术 1.4 数据脱敏全生命周期 2 制定数据脱敏规程 3 发现敏感数据 4 定义脱敏规则 5 执…

Stable Diffusion WebUI 各操作系统安装教程

最近几天在 2 台 Mac、2 台 PC、一台云无 GPU 的 Linux 安装了 Stable Diffusion WebUI&#xff0c;这里记录下如何安装&#xff0c;以及一些注意点和坑。 以下内容针对 Windows&#xff08;N 卡&#xff09;、MacOS&#xff08;m 系列芯片&#xff09;、Linux&#xff08;Ubu…

ubuntu20.04设置文件开机自启动

硬件&#xff1a;树霉派4B 系统&#xff1a;ubuntu20.04 在ubuntu20.04上经常需要运行 ./BluetoothServerParse_L.c ,比较繁琐&#xff0c;想要设置开机自启动&#xff0c;让树霉派4B在接上电源之后就自动运行该程序。使用systemd服务&#xff0c;设置步骤如下&#xff1a; &…