如何发布一个属于自己的 npm 包

news2024/11/30 12:54:35

如何发布一个属于自己的 npm 包

start

  • 在日常的工作中,我们会接触很多 npm 包。

  • 例如:

    npm install jquery
    
    npm install @vue/cli
    
    npm install axios
    
    # ... 等等
    
  • 有时候会想到,构建一个属于自己的 npm 包,应该超级酷吧?

1. 初始化一个项目

1.1 创建一个文件夹,打开对应终端(命令行窗口)

在这里插入图片描述

1.2 初始化 package.json

[在这里插入图片描述

1.3 创建一个基础的index.js文件

console.log('hello-tomato7')

function sayHello() {
  console.log('hello-tomato7')
}

exports.sayHello = sayHello
// 使用的是 commonjs 规范。

在这里插入图片描述

2. 注册账号

访问npm的官网: 访问npm官网点击这里。注册一个 npm 账号,并登录。

在这里插入图片描述
在这里插入图片描述

如果英文比较好,npm的官网建议多逛逛,可以发现很多优质的npm依赖包。

3. 命令行中登录我们的npm账号

!! 需要注意一下,切换我们的下载源为npm官方下载源。

3.1 下载源

  • 借助工具 : nrm 切换下载源。
  • 可以手动切换;

3.1.1 nrm 切换下载

# 1. 下载依赖
npm i -g nrm

# 2. 查看下载源列表
nrm ls

# 3. 使用npm官方的下载源。
nrm use npm 

# 4. 验证是否切换成功,查看输出的网址是否为我们设置的网址。
npm get registry

在这里插入图片描述

3.1.2 手动切换

# 1. 使用npm官方的下载源。
npm set registry https://registry.npmjs.org/ 

# 2. 验证是否切换成功,查看输出的网址是否为我们设置的网址。
npm get registry

在这里插入图片描述

3.2 登录

npm login

在这里插入图片描述

4. 推送我们的包

npm publish

# publish 出版

在这里插入图片描述

在这里插入图片描述

5. 验证是否发布成功

在这里插入图片描述

可以看到上方的截图,本地初始化一个项目,下载属于我自己的 npm 包 tomato7,在代码中引用并执行。

正确输出 hello-tomato7

6. 如何限制上传的文件

可以看到例如: vue 项目,主要暴露了 dist 文件,是怎么做到的?

在这里插入图片描述

可以借助package.json中的 files 字段

  "files": [
    "src",
    "dist"
  ],

7.关联 github仓库

可以借助package.json中的 repository 字段

 "repository": {
    "type": "git",
    "url": "https://github.com/lazy-tomato/tomato7"
  },

end

  • npm包的创建就到这里,后续有好的想法,再做补充。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zabbix基础环境部署

目录 一、环境准备 二、部署LNMP 1、安装Nginx及其依赖包 2、修改nginx配置 3、测试页面 三、部署zabbix服务端 1、下载zabbix 2、安装源码zabbix 3、为zabbix创建数据库与数据库账户 4、搭建Zabbix页面 4.1、第1步 Check of pre-requisites 4.2、第2步 Configure D…

Python代码的编写运行方式

Python代码的编写运行方式介绍 python官方运行环境可到网站https://www.python.org/downloads/找到合适版本下载安装。 安装比较容易,特别强调,安装过程建议勾选“Add Python to PATH”(将Python添加到PATH环境变量)【注1】&…

Docker安装Minio

寻找Minio镜像 Docker Hub 查找官方镜像 下载Minio镜像 下载最新版Minio镜像 docker pull minio/minio等同于 docker pull minio/minio:latest下载指定版本的Minio镜像 docker pull minio/minio:RELEASE.2022-11-26T22-43-32Z.fips检查当前所有Docker下载的镜像 docker …

第六章TCP/IP——网络传输硬件设备

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

Linux进程通信之消息队列

目录 1.消息队列的原理: 2.消息队列的接口: (1)创建消息队列 (2)向消息队列发送消息 (3)接收消息 (4)操作消息队列的接口 1.消息队列的原理: 消…

docker 安装 Heimdall 导航页

前言 随着群晖中使用的功能越来越多,各种端口太多容易忘,所以就有了使用导航页的想法(使用收藏夹的朋友除外)。群晖也有自带的WEB套件管理,不过个人感觉相对麻烦,使用 Heimdall 导航页可以设置密码登录&am…

【数字信号调制】16QAM信号调制解调【含Matlab源码 2050期】

⛄一、QAM调制与解调(附实验题目说明) 1 引 言 数字振幅调制、数字频率调制和数字相位调制是数字调制的基础,然而,这3种数字调制方式都存在不足之处。如频谱利用率低、抗多径衰落能力差、功率谱衰减慢、带外辐射严重等。为了改善这些不足,几十年来人们不…

yocto machine class解析之st-partitions-image

yocto machine class解析之st-partitions-image stm32mp157 yocto的meta-st-stm32mp layer中提供了几个class,后续几篇文章重点分析这些class文件: 第一篇就从st-partitions-image.bbclass 开始,st所有创建image的bb文件都会引用st-partitions-image&am…

「UWB」精准定位黑科技,开启座舱雷达新蓝海

基于厘米级定位、超低功率、强抗干扰、超大容量等技术特点,UWB(超宽带)技术在消费电子、智能汽车等领域的应用前景被赋予厚望。 值得一提的是,利用UWB雷达还可实现舱内活体检测、脚踢尾箱等,这意味着新一轮座舱感知革…

【Vue】ref引用,插槽

一、ref 什么是ref? ref用来辅助开发者在不依赖于jQuery 的情况下,获取DOM元素或组件的引用。 每个vue的组件实例上,都包含一个$refs对象,里面存储着对应的DOM元素或组件的引用。默认情况下,组件的$refs 指向一个空对…

Ubuntu20.04下安装nvidia驱动

ubuntu-drivers devices会显示你的电脑上可用的nvidia驱动。只需要安装推荐的版本即可(后面有recommend字样) 打开电脑里的软件和更新app(这里建议换提前换源,阿里源或者清华源) 来到附加驱动这个页面,选…

HTML初识-概念和基本知识

1 . HTML初识-基础认知 HTML标签 1.1 目录 ◆ 基础认知 ◆ HTML标签学习 ◆ 综合案例 1.2 学习目标 ◆ 能够理解HTML的 基本语法 和标签的关系 ◆ 能够使用 排版标签 实现网页中标题、段落等效果 ◆ 能够使用 相对路径 选择不同目录下的文件 ◆ 能够使用 媒体标签 在网页中显示…

ES进阶教程

1.分片Shards 一个索引可以存储超出单个结点硬件限制的大量数据,es提供了将索引划分为多份的能力,每一份都称之为分片.当创建索引时,可以指定想要的分片数量.每个分片本身也是一个功能完善并且相对独立的索引.这个索引可以被放在集群中的任何结点上. 分片的重要性 1.允许水平切…

相控阵天线(九):平面阵列天线综合(不可分离型切比雪夫分布、圆口径泰勒综合、可分离型分布、配相抵消法)

目录简介不可分离型分布不可分离型切比雪夫圆口径泰勒综合可分离型分布可分离切比雪夫综合可分离泰勒综合平面阵列配相抵消法简介 按行、列排列的可分离型矩形平面阵,其阵因子是两个正交排列的直线阵阵因子的乘积。可分离的平面阵方向图在两个主面内是满足预期副瓣…

Docker创建Spring容器【方便服务迁移】

📃目录跳转📚简介:🎃 1.上传jar包🎉2.创建Dockerfile文件🗺️3.生成容器🍥4.查看本地镜像🚀5.运行镜像🔭6.使用工具访问接口🏆总结📚简介&#xf…

网上预约挂号系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

si9000 单端(线)差分(动)线板层结构与阻抗计算

常见的单端(线)阻抗计算模式: Surface Microstrip 1B 在下图(表面,或暴露,微带)信号线暴露(空气)和参考电源或接地平面。根据电介质相对于迹的排列(在迹的下方或上方)对结构进行分类。下图显示了在信号轨迹(指定为1B)以下使用单一介电层的表…

elasticsearch数据存储结构,springboot集成elasticsearch

一、数据存储结构 结合数据库的结构理解起来就会比较清楚: 1)索引(Index)>数据库(Database)。 2)类型(Type)>表(Table)。 3)文档…

Ubuntu 20.04.05安装PCL-1.12.0

1、安装QT-5.9.9 链接: Ubuntu20.04安装、配置、使用、卸载QT5.9.9以及第一个编写QT程序. 或者 链接: 在ubuntu用命令安装和卸载qt4、qt5(亲测有效). 2、安装VTK-7.1.1PCL-1.12.0 链接: ubuntu20.04下安装pcl. 或者 链接: PCL1.12VTK7.1.1 && Ubuntu20.04.3VSCode(官…

Python一炮句搞定网页登录验证码自动输入

前言:本来是“账号密码”的登录方式,突然就增加了验证码输入,还30秒一变。 查看元素 链接为一个png图片文件,每半分钟一更新,意思就是慢了还不行。 思路:OCR识别图片中的…