面试官:你之前的工作发布过npm包吗?

背景🌟

我们公司平时在开发的时候,总是会需要开发一些组件库,去提供给组内其他人通用,这样大大提高了复用性,当然大厂会有自己的组件库,不过学无止境嘛,大家可以根据本文学会如何发布npm包!现在一起来吧~

01、步骤一注册

打开npm官网,如果没有账号就注册账号,如果有就登陆。

02、步骤二创建文件夹

按需求创建一个文件夹,本文以test为例。

03、步骤三初始化package.json文件

进入test文件夹里面,使用cmd打开命令行窗口,在命令行窗口里面输入npm init初始化package.json文件。也可以在Visual Studio Coode的终端里面使用npm init命令初始化。

04、步骤四初始化package.json文件的过程

创建package.json的步骤

01、package name: 设置包名,也就是下载时所使用的的命令,设置需谨慎。

02、version: 设置版本号,如果不设置那就默认版本号。

03、description: 包描述,就是对这个包的概括。

04、entry point: 设置入口文件,如果不设置会默认为index.js文件。

05、test command: 设置测试指令,默认值就是一句不能执行的话,可不设置。

06、git repository: 设置或创建git管理库。

07、keywords: 设置关键字,也可以不设置。

08、author: 设置作者名称,可不设置。

09、license: 备案号,可以不设置。

10、回车即可生成package.json文件,然后还有一行需要输入yes命令就推出窗口。

11、测试package.json文件是否创建成功的命令npm install -g。

05、步骤五创建index.js文件

test文件夹根目录下创建index.js文件,接着就是编写index.js文件了,此处不作详细叙述。

06、步骤六初始化package-lock.json文件

test根目录下使用npm link命令创建package-lock.json文件。

07、步骤七登录npm账号

使用npm login链接npm官网账号,此过程需要输入Username、Password和Email,需要提前准备好。连接成功会输出Logged in as [Username] on registry.npmjs.org/ 这句话,账号不同,输出会有不同。

08、步骤八发布包到npm服务器

执行npm publish命令发布包即可。

09、步骤九下载安装

下载安装使用包,此例的下载命令是npm install mj-calculation --save

10、步骤十更新包

更新包的命npm version patch,更新成功会输出版本号,版本号会自动加一,此更新只针对本地而言。

11、步骤十一发布包到npm服务器

更新包至npm服务器的命令npm publish,成功会输出版本,npm服务器的版本也会更新。

12、步骤十二删除指定版本

删除指定版本npm unpublish [email protected],成功会输出删除的版本号,对应服务器也会删除。

13、步骤十三删除包

撤销已发布的包npm unpublish mj-calculation使用的命令。

14、步骤十四强制删除包

强制撤销已发布的包npm unpublish mj-calculation --force使用的命令。

相关推荐
泯泷5 分钟前
「译」解析 JavaScript 中的循环依赖
前端·javascript·架构
抹茶san8 分钟前
前端实战:从 0 开始搭建 pnpm 单一仓库(1)
前端·架构
Senar35 分钟前
Web端选择本地文件的几种方式
前端·javascript·html
南客先生1 小时前
互联网大厂Java面试:RocketMQ、RabbitMQ与Kafka的深度解析
java·面试·kafka·rabbitmq·rocketmq·消息中间件
烛阴1 小时前
UV Coordinates & Uniforms -- OpenGL UV坐标和Uniform变量
前端·webgl
姑苏洛言1 小时前
扫码小程序实现仓库进销存管理中遇到的问题 setStorageSync 存储大小限制错误解决方案
前端·后端
烛阴1 小时前
JavaScript 的 8 大“阴间陷阱”,你绝对踩过!99% 程序员崩溃瞬间
前端·javascript·面试
lh_12542 小时前
ECharts 地图开发入门
前端·javascript·echarts
jjw_zyfx2 小时前
成熟的前端vue vite websocket,Django后端实现方案包含主动断开websocket连接的实现
前端·vue.js·websocket
Mikey_n2 小时前
前台调用接口的方式及速率对比
前端