如何将封装的前端组件发布到NPM

开发背景

npm是Node Package Manager的缩写,是随同Node.js一同安装的软件包管理工具。它允许开发者通过命令行界面安装、分享、管理和发布Node.js模块和软件包。

在项目开发中,作为开发者往往会根据使用习惯或工作场景,封装一些有助于日常开发的组件,但是每次不同项目之间使用时,就需要之间复制粘贴,更麻烦的是,当你在某个项目中升级或者优化了相关组件,也无法及时的更新到相关项目,维护成本随之增加,这时候,将自己封装的自定义组件发布至npm管理,就相对简化许多

准备工作

一、注册属于自己的NPM账号(已有账号可跳过

        点击链接前往NPM官网:npm | Home

二、环境配置

此环境配置可提前切换至以下版本,也可在发布到NPM时切换

npm => 9.3.1
node => 20.9.0

如果npm版本不好更换或想使用多个npm版本,可以使用nvm来进行管理,这样就可以自由的在多版本之间来回切换了,具体的操作可参考:nvm的安装配置及报错处理办法

开发过程

一、构建基础项目

1、创建一个新项目

npm create npm-package

npm-package 项目名

2、根据需要安装依赖

npm install

如果你的自定义组件需要引入相关组件库或其他依赖,正常安装依赖即可

例如:我需要引入element-plus,我只需要安装依赖即可,不需要全局引用,只在使用时引用

 npm install element-plus

3、删除无用文件

1)删除 src/assets 文件夹

2)删除 src/components 文件夹

3)清空 App.vue 文件内容

二、封装组件

1、创建组件文件\src\packages\ym-search-select\Index.vue,文件目录如下:

2、写入封装的组件代码

如果组件中有相关css文件,请保证放置在组件包内(如:ym-search-select)

3、引入到App.vue中验证下,看是否可以正常使用,如下:

三、导出组件并打包

1、导出组件,创建 src/packages/index.js 文件,内容如下:

2、在 package.json 文件下配置打包命令,内容如下:

"package": "vue-cli-service build --target lib ./src/packages/index.js --name luochenya-common --dest luochenya-common"

打包命令解释:
1、--target lib 指定打包的目录
2、--name 打包后的文件的名称
3、--dest 打包后的文件夹的名称 

3、执行打包命令 npm run package ,打包后会多出一个 ym-element-common 文件夹,结构如下:

四、发布到NPM

1、初始化打包后的项目

切换到 ym-element-common 文件夹下,执行命令 npm init -y,会多出一个 package.json 文件,可以配置发布的包名、版本号、版本描述,内容如下:

2、设置npm源

首先查看npm源是否为官方源,

npm config get registry

如果有设置了淘宝镜像的需要切换到官方源,切换命令如下:

npm config set registry=https://registry.npmjs.org

3、添加npm用户

ym-element-common 文件夹下,执行命令 npm adduser,根据提示输入账号、密码,输出密码时不会显示输入状态,这一步一定要细心。

如果之前设置过用户,可跳过此步

4、发布npm包

ym-element-common 文件夹下,执行命令 npm publish,如果发布失败可能是名字重复,改一下名字即可,发布成功后,我们可以到NPM个人中心,查看发布的NPM包

安装及引入方法

一、从NPM安装

npm install npm-package(包名)

二、全局引入

在main.js中引入注册,内容如下:

小结

下面是发布过程中常用的npm命令

npm config get registry // 查看当前npm源
npm login // 登录npm
npm publish // 发布npm包
npm publish --access=public // 发布公共的npm包
npm version patch // 更新当前包版本 v0.0.1 -> v0.0.2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值