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

news/2025/2/12 21:21:11/

给大家推荐一个实用面试题库

1、前端面试题库 (面试必备)            推荐:★★★★★

地址:web前端面试题库

背景🌟

我们公司平时在开发的时候,总是会需要开发一些组件库,去提供给组内其他人通用,这样大大提高了复用性,当然大厂会有自己的组件库,不过学无止境嘛,大家可以根据本文学会如何发布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 mj-calculation@1.0.2,成功会输出删除的版本号,对应服务器也会删除。

13、步骤十三删除包

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

14、步骤十四强制删除包

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

 

给大家推荐一个实用面试题库

1、前端面试题库 (面试必备)            推荐:★★★★★

地址:web前端面试题库


http://www.ppmy.cn/news/1200777.html

相关文章

明御安全网关任意文件上传漏洞复现

简介 安恒信息明御安全网关(NGFW) 秉持安全可视、简单有效的理念,以资产为视角的全流程防御的下一代安全防护体系,并融合传统防火墙、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。 较低版本的系统存…

项目管理之如何监控项目健康状态

项目管理是一个复杂且关键的过程,涉及到多个关键因素,包括项目名称、项目管理委员会成员、项目经理、项目生命周期的各个阶段以及资源泳道等。如何有效地监控项目的健康状态是确保项目成功的重要环节。本文将详细介绍项目管理全景图及其在风险识别中的应…

【】如何实现异步通知的重试机制

文章目录 前言微信为何要这么设计异步通知的重试机制重试机制的实现方案一:定时任务(不可行)方案二:线程池 定时任务 (不可行)方案三:消息中间件 线程池(可行) 延迟队列…

JVM虚拟机:垃圾回收器之Parallel Scavenge

本文重点 在前面的课程中,我们学习了新生代的串行化垃圾回收器Serial,本文我们将学习新生代的另外一个垃圾回收器Parallel Scavenge(PS),PS是一个并行化的垃圾回收器,它使用复制算法来清理新生代的垃圾。 运行方式 如上所示,当进行垃圾回收的时候,它会暂停工作线程,而…

vue3生命周期源码详解

钩子函数的特点 Vue 生命周期钩子函数是在组件生命周期中执行的特定函数。 这些钩子函数允许你在组件不同的生命周期阶段插入自定义的逻辑代码。 Vue 提供了一组预定义的生命周期钩子函数,每个钩子函数在组件生命周期的不同阶段被调用。 源码中如何注册、实现钩子函…

WebSocket Day02 : 握手连接

前言 握手连接是WebSocket建立通信的第一步,通过客户端和服务器之间的一系列握手操作,确保了双方都支持WebSocket协议,并达成一致的通信参数。握手连接的过程包括客户端发起握手请求、服务器响应握手请求以及双方完成握手连接。完成握手连接后…

mediasoup udp端口分配策略

mediasoup-worker多进程启动时&#xff0c;rtcMinPort/rtcMaxPort可以使用相同的配置。 for (let i 0; i < numWorkers; i) { let worker await mediasoup.createWorker({ logLevel: config.mediasoup.worker.logLevel, logTags: config.mediasoup.work…

Vite 的基本原理,和 webpack 在开发阶段的比较

目录 1&#xff0c;webpack 的流程2&#xff0c;Vite 的流程简单编译 3&#xff0c;总结 主要对比开发阶段。 1&#xff0c;webpack 的流程 开发阶段大致流程&#xff1a;指定一个入口文件&#xff0c;对相关的模块&#xff08;js css img 等&#xff09;先进行打包&#xff0…