1.环境准备

1)  初始化vue项目

        创建一个文件夹文件夹运行cmd  初始化项目 vue createpro

1) 运行项目

        npm run serve

2.组件封装

1 )创建packpage文件夹

        考虑到会封装多个组件所以在src创建一个新的packpage文件夹用来存放需要上传组件

这里我们封装一个组件packpage创建一个用来存放组件代码文件夹

2) 把写好的组件代码放置自己packpage创建文件夹里(文件自己命名即可);

注意: 自己封装的组件里面一定要有name属性为后期install node包后 在页面使用的组件名

 3)使用Vue插件模式

一步是封装组件中的重点,用到了Vue提供的一个公开方法install这个方法会在你使用Vue.use(plugin)时被调用,这样使得我们的插件注册到了全局,在子组件的任何地方都可以使用。

package目录新建index.js文件,代码如下

export default install; // 这个方法以后再使用的时候可以被use调用

import chartTemp from “../package/chartTemp/chartTemp.vue“; // 引入封装好的组件

const coms = [ThpButton]; // 将来如果有其它组件,都可以写到这个数组里

// 批量组件注册

const install = function (Vue) {

  coms.forEach((com) => {

    Vue.component(com.name, com);

  });

};

export default install; // 这个方法以后再使用的时候可以被use调用

上传代码主要的的一项工作就是将我们封装好的组件注册全局组件,用到了Vue.component()方法,当使用Vue.use()时,我们install方法便会执行

3. 组件打包

这里为止,我们的组件封建基本完成了,当然组件封装成什么样得看自己业务需求了,接下来我们就需要将组件进行打包了。

修改我们项目得package.json文件配置打包命令

package“: “vuecliservice buildtarget lib ./src/package/index.jsname thpbuttonuidest thpbuttonui

 

打包命令解释

target lib 关键字 指定打包目录

name 打包后的文件名

dest 打包后的文件夹名称

然后执行打包命令

npm run package

打包执行完成后我们项目目录下就会多出一个chartTempui文件夹存放的是打包后的文件

4. 发布npm

1) 初始化package.json

想要发布npm仓库,我们还得在thpbuttonui文件夹初始化一个package.json文件

首先 cd chartTempui    进入chartTempui目录执行命令

npm inity

生成

 注意: name里面不能有大写!!!

由于这里我们只是测试,所以我不需要更改package.json文件,如果是生产的话,最好加上版本描述版本号等等,其中name字段便是我们上传npm仓库后的名称

新增 README.md文档,方便其他用户使用

 

2) 发布npm仓库

(1)注册账号

想要发布到npm仓库,就必须要有一个账号,先去npm官网注册一个账号,注意记住用户名密码邮箱,发布的时候可能用到

(2)设置npm

有些小伙伴可能本地npm镜像采用的是淘宝镜像源或者其它的,如果想要发布npm包,我们得吧我们得npm切换官方得源,命令如下

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

(3)添加npm用户

进入thpbutton-ui目录添加npm用户执行命令

npm adduser

这里会让你填写用户名密码邮箱然后收到一封邮件邮件里面有个类似于验证码的东西,如果之前设置即可跳过此步。

(4)发布npm

charttemp-ui目录执行命令

npm publish

如果发布失败可在百度搜索失败code码,一般都是名字重复或者名字不合格

5. 从npm安装使用

直接执行安装命令

npm install  charttemp-ui 

然后main.js引用注册,代码如下:

import chartTemp from ‘charttemp-ui’
importcharttemp-ui/chartTemp-ui.css

Vue.use(chartTemp );

原文地址:https://blog.csdn.net/m0_67363703/article/details/126390366

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33454.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注