npm包从创建到发布及下载使用

2023-11-08 02:10

本文主要是介绍npm包从创建到发布及下载使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、npm项目初始化

1.1 在本地磁盘上创建一个空项目,取文件夹名为myNpm。注意请先去npm网官去确定一下,这个项目名是否已经被占用了。(如果这个 名字已经被占用了,则无法向npm上上传的)

npm view 包名
# 这个命令用来查看 某个包的信息
# 包名不能与现有包重名,只能是小写字母+数字+中划线
# 如果返回404,说明这个项目名在npm官网上找不到,此时你就可以使用。
# 否则,说明不可用。

1.2 创建一个package.json文件,对你项目myNpm信息进行设置。

npm init --yes

2、完成功能开发

2.1 正常开发,完成你的代码。
2.2 在默认情况下,index.js是这个项目的入口文件
在这里插入图片描述

3、切换当前npm镜像源到官网

3.1 查看当前的npm的registry配置.

npm config get registry 
# 查看当前的npm的registry配置,确保是https://registry.npmjs.org# 如果不是,可以通过如下命令来设置
npm config set registry https://registry.npmjs.org 
# 手动设置registry

3.2 或者使用nrm工具来设置

nrm ls

4、连接npm

npm adduser 

4.1 这个命令需要输入三个信息以供连接上npmjs:(如果你已经不是第一次连接了,这一步是可以省略的。)
- 用户名
- 密码
- 邮箱(是你在npmjs官网上注册时使用的信息)
4.2 可以通过如下命令检查自己是否连接成功

npm who am i

4.3 退出账户命令

npm logout

5、把包上传到npm

5.1 上传命令

 npm publish 

5.2上传成功后显示

-----------------------------------
npm notice
npm notice package: tool61@1.0.0npm notice === Tarball Contents ===
npm notice 1.3kB index.jsnpm notice 220B  package.json
npm notice === Tarball Details ===
npm notice name:          tool61npm notice version:       1.0.0
npm notice package size:  855 B
npm notice unpacked size: 1.5 kB
npm notice shasum:        3bfba7bc92e242810a850ac39ded7ebe992a6d9c
npm notice integrity:     sha512-VoRuxxbcGzXen[...]v3tKWYUT1B1AQ==
npm notice total files:   2
npm notice
+ tool61@1.0.0

6、上传过程可能出现的错误

6.1 这个包名被别人先用了,需要更改package.json文件中"name"的值,重新命名包
6.2 包的版本号不对:每次publish时,包的版本号都应该要大于之前的版本号
6.3 文件过大。你可能需要创建.npmignore文件来设置在打包时要忽略哪些文件。如下是一个demo.

 # .npmignore/node_modulesnpm-debug.log/src/examples/build

6.4 如果没有报错,则表示一切ok,你可以用你的帐号密码登陆npm,去查看你名下的package是否有了myNpm

7、下载使用

npm install 包名

7.1 在另一个项目中去下载包
7.2 为了提升下载速度,我们会切换镜像到taobao。

8、删除包操作

npm unpublish --force //强制删除

9、更新包

9.1 修改代码,保存。
9.2 更新版本号。可直接在package.json中修改:只能改大,不能改小。
9.3 重新publish

这篇关于npm包从创建到发布及下载使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/367316

相关文章

springboot控制bean的创建顺序

《springboot控制bean的创建顺序》本文主要介绍了spring-boot控制bean的创建顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录1、order注解(不一定有效)2、dependsOn注解(有效)3、提前将bean注册为Bea

Java中的ConcurrentBitSet使用小结

《Java中的ConcurrentBitSet使用小结》本文主要介绍了Java中的ConcurrentBitSet使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、核心澄清:Java标准库无内置ConcurrentBitSet二、推荐方案:Eclipse

Go语言结构体标签(Tag)的使用小结

《Go语言结构体标签(Tag)的使用小结》结构体标签Tag是Go语言中附加在结构体字段后的元数据字符串,用于提供额外的属性信息,这些信息可以通过反射在运行时读取和解析,下面就来详细的介绍一下Tag的使... 目录什么是结构体标签?基本语法常见的标签用途1.jsON 序列化/反序列化(最常用)2.数据库操作(

Java中ScopeValue的使用小结

《Java中ScopeValue的使用小结》Java21引入的ScopedValue是一种作用域内共享不可变数据的预览API,本文就来详细介绍一下Java中ScopeValue的使用小结,感兴趣的可以... 目录一、Java ScopedValue(作用域值)详解1. 定义与背景2. 核心特性3. 使用方法

spring中Interceptor的使用小结

《spring中Interceptor的使用小结》SpringInterceptor是SpringMVC提供的一种机制,用于在请求处理的不同阶段插入自定义逻辑,通过实现HandlerIntercept... 目录一、Interceptor 的核心概念二、Interceptor 的创建与配置三、拦截器的执行顺

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin