在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.mfbz.cn/a/689172.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Allegro X PCB设计小诀窍系列--如何在Allegro X中快速将位号调整到器件中心

背景介绍&#xff1a;我们在进行PCB设计时&#xff0c;为了将位号和元器件对应&#xff0c;从而能够更快速准确的辨别元器件位置&#xff0c;通常需要将位号移动至器件中心。如果由工程师手动完成&#xff0c;不仅工作量大&#xff0c;还极易出错。而通过Allegro X PCB设计工具…

基于简单Agent对医疗数据进行分析

数据表 供应商资格审核规定.pdf 医生名录.xlsx 历史就诊记录.xlsx 患者信息名录.xlsx 药品.xlsx 药品库存管理.xlsx 采购单位基本信息.xlsx Agent测试 模型基于ChatGPT-3.5 问题&#xff1a;帮我找出不达标的供应商 Agent分析过程 [Thought: 0] Key Concepts: - 不达标的供…

SQL Server数据库xp_cmdshell提权笔记

文章目录 一、简介二、搭建环境三、利用条件1、查询 xp_cmdshell 是否开启&#xff0c;返回为1则证明存在2、判断权限是不是sa&#xff0c;回是1说明是sa3、开启xp_cmdshell4、关闭xp_cmdshell 四、获取数据库权限1、成功获取sqlserver&#xff0c;进行登陆2、开启xp_cmdshell权…

进口电动流量调节阀的选型-美国品牌

进口电动流量调节阀的选型需要综合考虑多个因素&#xff0c;以确保所选阀门能够满足实际应用需求。以下是选型时需要考虑的主要方面&#xff1a; 一、明确应用需求 工作介质&#xff1a;了解介质的性质&#xff0c;包括流体类型、温度、压力以及是否具有腐蚀性或特殊性质。流…

C语言野指针、规避野指针、assert宏断言

目录 a.野指针成因 1.指针未初始化 2.指针越界访问 3.指针指向的空间释放 b.规避野指针 1.指针初始化 2.小心指针越界 3.指针变量不再使用时&#xff0c;及时置NULL&#xff0c;指针使用之前检查有效性 4.避免返回局部变量的地址 c.assert宏断言的使用 概念&#xff1…

LeetCode 两数之和 + 三数之和

两数之和 简单题 思路&#xff1a;一个Map&#xff0c;key是数值&#xff0c;value是该数值对应的下标&#xff0c;遍历的时候判断一下当前数组下标对应的值在map里有没有可组合成target的&#xff08;具体体现为在map里找target-nums【i】)&#xff0c;如果有&#xff0c;直接…

【代码随想录】【算法训练营】【第28天】 [93]复原IP地址 [78]子集 [90]子集II

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 28&#xff0c;工作的周二~ 题目详情 [93] 复原 IP 地址 题目描述 93 复原 IP 地址 解题思路 前提&#xff1a;分割问题 思路&#xff1a;回溯算法&#xff0c;确定每次递归回溯的分割位置…

navi_cat查看数据库的连接密码

Navi_Cat 建立连接&#xff0c;来访问数据库。可惜&#xff0c;忘记了数据库密码&#xff0c;没事&#xff0c;这么搞。 首先先导出链接&#xff0c;再从链接里取出被加密的密码&#xff0c;然后找个可在线运行PHP的网站&#xff08;代码在线运行 - 在线工具&#xff09;&…

Vue项目安装axios报错npm error code ERESOLVE npm error ERESOLVE could not resolve解决方法

在Vue项目中安装axios时报错 解决方法&#xff1a;在npm命令后面加--legacy-peer-deps 例如&#xff1a;npm install axios --save --legacy-peer-deps 因为别的需求我把node版本重装到了最新版&#xff08;不知道是不是这个原因&#xff09;&#xff0c;后来在项目中安装axi…

2024 年该如何利用 MidJourney 创作AI艺术(详细教程)

什么是 Midjourney Midjourney 是根据文本提示创建图像的生成式人工智能的优秀范例。与 Dall-E 和 Stable Diffusion 一样&#xff0c;它已成为最受欢迎的人工智能艺术创作工具之一。与竞争对手不同的是&#xff0c;Midjourney 是自筹资金和封闭源代码的&#xff0c;因此对它的…

BPMN开始事件-Activiti7从入门到专家(7)

开始事件类型 bpmn开始事件表示流程的开始&#xff0c;定义流程如何启动&#xff0c;在某种情况下启动&#xff0c;比如接收事件启动&#xff0c;指定事件启动等&#xff0c;开始事件有5种类型&#xff1a; 空开始事件定时器开始事件信号开始事件消息开始事件错误开始事件 继…

如何以非交互方式将参数传递给交互式脚本

文章目录 问题回答1. 使用 Here Document2. 使用 echo 管道传递3. 使用文件描述符4. 使用 expect 工具 参考 问题 我有一个 Bash 脚本&#xff0c;它使用 read 命令以交互方式读取命令参数&#xff0c;例如 yes/no 选项。是否有一种方法可以在非交互式脚本中调用这个脚本&…

探索未来制造,BFT Robotics引领潮流

“买机器人&#xff0c;上BFT” 在这个快速变化的时代&#xff0c;创新和效率是企业发展的关键。BFT Robotics&#xff0c;作为您值得信赖的合作伙伴&#xff0c;专注于为您提供一站式的机器人采购和自动化解决方案。 产品系列&#xff1a; 协作机器人&#xff1a;安全、灵活、…

水务设备数字化管理

在数字化浪潮席卷全球的今天&#xff0c;水务行业也迎来了数字化转型的重要契机。传统水务管理模式中&#xff0c;设备监控、数据收集、运行维护等环节往往存在效率低下、成本高昂、安全隐患多等问题。而HiWoo Cloud平台的出现&#xff0c;以其强大的设备接入能力、高效的数据处…

使用达梦数据库集成Python,达成快速连接

本章主要介绍在 Python 开发的时候&#xff0c;如何使用 Python 快速连接达梦数据库。 dmPython 简介 dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。 使用 Python 连接达梦数据库时需要安装 dmPython。安装完 DM 数据库软件…

Python的df.cumsum()函数

Python Pandas dataframe.cumsum() Python是一种进行数据分析的伟大语言&#xff0c;主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个&#xff0c;它使导入和分析数据变得更加容易。 Pandas dataframe.cumsum()用于查找任何axis上的累积和值。每个…

基于51单片机的多功能计算器全套设计

通过本次课题设计,应用《单片机应用基础》、《数据结构》等所学相关知识及查阅资料,完成实用计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系…

docker命令 docker ps -l (latest)命令在 Docker 中用于列出最近一次创建的容器

文章目录 12345 1 docker ps -l 命令在 Docker 中用于列出最近一次创建的容器。具体来说&#xff1a; docker ps&#xff1a;这个命令用于列出当前正在运行的容器。-l 或 --latest&#xff1a;这个选项告诉 docker ps 命令只显示最近一次创建的容器&#xff0c;不论该容器当前…

【YOLOv10】使用 TensorRT C++ API 调用GPU加速部署 YOLOv10 实现 500FPS 推理速度——快到飞起!

NVIDIA TensorRT ™ 是一款用于高性能深度学习推理的 SDK&#xff0c;包含深度学习推理优化器和运行时&#xff0c;可为推理应用程序提供低延迟和高吞吐量。YOLOv10是清华大学研究人员近期提出的一种实时目标检测方法&#xff0c;通过消除NMS、优化模型架构和引入创新模块等策…

什么是 target 和 currentTarget ?

1、event.target 发生事件的元素或触发事件的元素 <div onclick"clickFunc(event)" style"text-align: center;margin:15px; border:1px solid red;border-radius:3px;"><div style"margin: 25px; border:1px solid royalblue;border-radi…