如今,许多组件库风靡一时,使得我们能够便捷地保持一个应用一致的外观和体验。

我至今已经使用过许多不同的组件库,不过使用组件和深入了解构建组件的过程还是有很大不同的。

我想要更深入地理解组件库的构建过程,也希望能有助于你对于这一过程的理解。

我们接下来会使用  vue-sfc-rollup  这个 npm 包来构建这个组件库,这是一个非常实用的组件库构建工具。

如果想用这个工具管理现有的组件库,可以查看文档。

这个工具为我们创建了项目的文件结构,如文档所说,它创建了以下文件(SFC 即 Single File Component):

  • 一个最简的  rollup  配置文件
  • 一个包含 build/dev 脚本和项目依赖的 package.json 文件
  • 一个最简的用于转译的 babel.config.js 和 .browserslistrc 文件
  • rollup 打包 SFC 时用到的包装器(wrapper)
  • 一个 SFC 示例文件
  • 组件库的使用示例

这个工具同时支持单文件组件和组件库,注意文档中的这句话:

在 library 模式下有一个 'index' 文件,其中声明了需要暴露哪些组件到你的库中。

也就是说,在设置过程中会额外生成一些文件。

开始构建

首先,全局安装  vue-sfc-rollup

npm install -g vue-sfc-rollup

安装完成后,在命令行窗口进入想要在其中保存项目文件的目录,执行如下命令来初始化项目。

sfc-init

在提示中选择如下选项:

  • Is this a single component or a library?  Library
  • What is the npm name of your library?  (名称在 npm 中必须是唯一的,这里我使用的是  brian-component-lib)
  • Will this library be written in JavaScript or TypeScript?  JavaScript(可以放心地选择 TypeScript,只要你清楚自己的选择)
  • Enter a location to save the library files:  (项目的文件夹名称,默认为之前步骤设置的 npm 名称,所以可以直接按 enter 取默认值。)

设置完成之后,进入项目目录并执行 npm install。

cd path/to/my-component-or-lib

npm install

完成之后,选择一个编辑器来打开项目目录。

如上所述,在  /src/lib-components  文件夹中可以看到,一个示例 Vue 组件已经为我们构建好了。要查看效果,可以运行  npm run serve  命令,然后在浏览器中访问  http://localhost:8080/。

开始添加我们的自定义组件。在这个示例中,我打算模拟 freeCodeCamp 的任务介绍部分的按钮,所以在  lib-components  文件夹中新建一个名为  FccButton.vue  的 Vue 文件。

这就是我们将要构建的按钮

可以直接将下面这段代码复制到你的文件中:

<button class="btn-cta">{{ text }}button></template>

vue 悬浮按钮组件_如何搭建和发布一个 Vue 组件库相关推荐

  1. vscode 写vue 没有js提示_如何用VSCode实现一个vue.js项目?

    1,新建项目 打开Visual studio code 打开一个你想要创建项目的文件夹 打开集成终端:查看 –> 集成终端 或者直接按 ctrl+\ ` 如果没有安装vue-cli,在终端输入: ...

  2. html 可移动悬浮按钮,vue悬浮按钮 vue实现可移动的悬浮按钮

    想了解vue实现可移动的悬浮按钮的相关内容吗,丢失的蓝胖子在本文为您仔细讲解vue悬浮按钮的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:vue移动悬浮按钮,vue悬浮按钮,vue按钮,下 ...

  3. vue 悬浮按钮_Vue@哇!几行代码实现拖拽视图组件

    概述 最近开发的项目中有一个分享的悬浮按钮,这个按钮遮挡了页面信息,产品经理跑过来问我,是否可以把这个按钮做成可以拖拽的,研究了一下轻松实现了这个功能,这里分享给大家.这个项目是基于vue的公众号网页 ...

  4. vue 悬浮按钮组件_Vue悬浮球效果

    知识点: 悬浮球有两个知识点: 1)一个是吸边效果.位置判断,然后缓动到目标位置: 获取元素位置属性:this.$refs.refNamexxxx.getBoundingClientRect() 2) ...

  5. vue实现竖式步骤条_手把手教你实现一个 Vue 进度条组件!

    最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...

  6. vue 生成发布包_年轻人如何从0到1封装发布一个vue组件__Vue.js

    封装发布组件是前端开发中非常重要的能力,通过对常用组件的封装可以提升团队开发的效率,避免重复劳作且不方便维护.好的组件的抽象和封装能让组件得到更广泛和多环境兼容的应用. 本文讲述了如何一步步从0到1封 ...

  7. vue项目调用通用组件_详细解析:uniapp项目|vue组件形式实现的科技感loading纯CSS动效...

    前言 本人是一枚并不安分守己的后端程序猿,一直对前端开发"垂涎三尺",所以,一有机会就会"不务正业"一番.最近,发现了一个非常好的学习资料,于是乎,我的老毛病又 ...

  8. bootstrap 打印组件_如何在Bootstrap项目中用Vue.js替代jQuery

    Bootstrap是 Web 开发最受欢迎的框架之一,没有比它开发响应式网站项目效率最高了. 随着Vue.js的逐渐流行,更多人们用它来控制页面元素,实现强大互动功能.而jQuery出现了一些技术落后 ...

  9. vue项目编写html,从头搭建、编写一个VUE项目

    一.创建VUE项目 1.新建一个vue项目 进入工作目录,新建一个vue项目:vue init webpack 项目名 vue init webpack vue-project-demo image. ...

最新文章

  1. R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放、hclust包层次聚类(创建距离矩阵、聚类、绘制树状图dendrogram,在树状图上绘制红色矩形框)
  2. Ajax同步和异步的区别
  3. MATLAB GUI编程中几个有用的程序段
  4. printf多行输入格式
  5. 【kafka】消费组 死掉 kafka Marking the coordinator dead for group
  6. esayexcel下载问题
  7. 构建第一个Spring Boot2.0应用之集成dubbo上---环境搭建(九)
  8. 联想MWC大秀另一面AI实力,BAT为此转型以求
  9. linuxdeploy ubuntu 更新gui_在Ubuntu和Linux Mint上释放空间的7种简单方法
  10. 初学者 | 分词的那些事儿
  11. 8数码问题-搜索-双向BFS/A*算法
  12. 【“elabsim”高频电子线路实验】得到输出峰峰值幅度为200mV、频率为10.7MHz正弦波信号
  13. 2020最新Ubutu18.04安装NVIDIA出现如下报错解决方法[亲测可用]
  14. 谷歌野心有多大?曾有意联合腾讯收购 Epic、计划 5 年成为全球最大游戏平台!
  15. 今日头条如何快速开通原创
  16. eas bos客户端获取组织,人员,用户的方法
  17. 瑞格科技IPO被终止:曾拟募资5.6亿 江振翔三兄弟为实控人
  18. C、C++、Java到Python,编程入门学习什么语言好?
  19. 计算机基础2008版,《计算机基础(2008版)》第4次作业
  20. java uri用法_javaurl类的用法

热门文章

  1. MacBook 没有响应的应用程序 CUH
  2. 好用的python学习软件_5种好用的Python工具!Python学习分析
  3. dmp导入数据 oracle_DMP文件导入ORACLE指南
  4. 【还是回来了】博客搬家--https://cangbean.github.io
  5. IntelliJ IDEA导出设置
  6. 1.6梯度提升的优化算法实现概况
  7. javascript概要
  8. DatabaseMetaData 获取mysql表和字段注释
  9. THINKPHP中使用swoole
  10. DOS 批处理 修改xml文件