返回顶部
首页 > 资讯 > 前端开发 > html >Element一套优雅的Vue 2组件库是如何开发的
  • 937
分享到

Element一套优雅的Vue 2组件库是如何开发的

2024-04-02 19:04:59 937人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关Element一套优雅的Vue 2组件库是如何开发的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。初期也遇到一些棘手的问题,很庆幸都找到

这期内容当中小编将会给大家带来有关Element一套优雅的Vue 2组件库是如何开发的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

初期也遇到一些棘手的问题,很庆幸都找到了解决方案。在这里整理一些解决方案分享给大家。

如何管理多个独立的组件项目 -- lerna

最初制定的目标是有一个主项目管理所有的组件弄成一个包,然后每一个组件都是单独一个包。这样用户可以安装所有组件也可以只安装自己需要的组件。于是我们最直接的做法就是一个组件建一个项目,到后面组件越来越多管理起来也越加复杂,每一次升级主仓库就要更新一堆依赖组件的版本号。而且开发起来也不方便。

后来看到 babel 的仓库的目录结构很是奇特。一个 packages 文件夹下有所有的 babel 官方插件,直到发现他们用了一个叫 lerna  的工具。可以让你在主项目下管理多个子项目,从而解决了多个包互相依赖,且发布时需要手动维护多个包的问题。

所以我们重构了目录结构,所有插件单独一个项目放在 packages 目录下,可单独打包发布;同时最外面的 src  目录下的入口文件引入所有组件,打包发布的主项目就是包含了所有的组件。从而就解决了多个子项目管理的问题。

element/   package.JSON   packages/     component-a/       package.json     component-b/       package.json

如何解决定制多套主题的问题

组件库一般都会自带一套主题,也可能会有多套主题可供选择,当然也要满足用户自定义的需求。所以 Vue 推荐的定义 scope  的样式就不可行了,同时也不能把样式写在组件里。那么如何写样式同时单独发布的组件如何引用样式文件也是我们要解决的问题。

为了方便用户覆盖样式,我们采用 BEM 风格来写  CSS,这样的好处是类名基本都是一级,少数才会有嵌套情况,这样很容易的就可以直接覆盖掉原有样式。我们使用了自家开发的 postcss-salad PostCSS  插件来写样式。集成了多个实用的 PostCSS 插件同时也支持 BEM 风格。

并且样式文件目录也作为单独一个子项目发布,这样引入整个包可以包含样式文件,单独安装的组件可以通过安装主题包的方式引入样式文件。

这么做的好处是方便以后扩展其他主题,或者开发者可以自己定义一套其他 CSS 预处理的版本例如 Less 或 Scss。

文档是如何工作的 -- vue-markdown-loader

当初写 Mint UI 时就遇到了要用 Vue 写文档的问题:如何才能在写 markdown 时也能写 Vue 组件的 Demo。虽然后来并没有在  Mint UI 的文档里写 Demo。最开始在 Element 的内部版本里,找遍了各种 Vue 的 Markdown 相关插件,要么是在 template  里定义 Markdown 格式,要么就是有一个 Markdown 的组件。都不能做到纯粹的写 Markdown 文件,并且还能写 Demo。

后来想到或许可以尝试把 Markdown 文件转成 Vue 组件。毕竟可以在 Markdown 里写 html,那么完全可以作为 Vue  的模板。后来就有了 vue-markdown-loader,一个把 Markdown 转成 Vue 组件的 webpack loader,搭配  vue-router 就能搭建一个可以在 Markdown 里写 Vue 代码的文档网站。

如何同时打包多个组件 -- cooking

由于前面的设定,最终需要每个组件都单独打包一份并发布。同时每一个组件下面都会有一个对应的配置文件,传统的用 WEBpack  打包虽然支持传入数组,但是并不能传入多个文件。但是我们有 cooking,一个基于 webpack  但是配置更简单同时使用上也更容易的工具。打包时只需要同时传入多个配置文件,利用 webpack 接受数组配置项的特性,就能同时进行打包。

有了这些工具,让 Element 的开发工作变得更容易且更高效。

上述就是小编为大家分享的Element一套优雅的Vue 2组件库是如何开发的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网html频道。

--结束END--

本文标题: Element一套优雅的Vue 2组件库是如何开发的

本文链接: https://lsjlt.com/news/86155.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Element一套优雅的Vue 2组件库是如何开发的
    这期内容当中小编将会给大家带来有关Element一套优雅的Vue 2组件库是如何开发的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。初期也遇到一些棘手的问题,很庆幸都找到...
    99+
    2024-04-02
  • vue+element如何开发一个谷歌插件
    这篇文章给大家分享的是有关vue+element如何开发一个谷歌插件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue是什么Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区...
    99+
    2023-06-15
  • vue组件库如何开发使用
    本文小编为大家详细介绍“vue组件库如何开发使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue组件库如何开发使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。yarn workspace + lerna:...
    99+
    2023-07-04
  • VUE TypeScript组件开发指南:打造健壮而优雅的应用
    Vue TypeScript 组件是一种使用 TypeScript 强类型语言编写的 Vue 组件。它提供了 TypeScript 的所有优势,例如静态类型检查、代码重用性和可维护性,同时保留了 Vue 的响应式和组件化特性。 创建 Ty...
    99+
    2024-03-12
    简介
  • 如何开发一个封装iframe的vue组件
    这篇文章给大家分享的是有关如何开发一个封装iframe的vue组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VUE的基本组成单元,我看应该是组件。用VUE开发前端项目,就是开发一个个组件,然后搭积木一样,将项...
    99+
    2023-06-14
  • 如何从零开始搭建一套ui组件库
    本篇内容介绍了“如何从零开始搭建一套ui组件库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 环境准备我们在编写我们组件库的组件前,首先...
    99+
    2023-07-06
  • vue+element开发一个谷歌插件的全过程
    简单功能:点击浏览器右上角插件icon弹出小弹窗,点击设置弹出设置页,并替换背景图或颜色。 开始 1.本地创建文件夹testPlugin并新建manifest.json文件 {...
    99+
    2024-04-02
  • vue如何开发一个加载Button组件
    本篇内容介绍了“vue如何开发一个加载Button组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!组件背景点击按钮时请求一些接口数据,而为...
    99+
    2023-06-30
  • VUE中如何优雅实现爷孙组件的数据通信
    目录$attrs和$listeners如何使用呢?$attrs的使用:$listeners的使用:总结:在开发的过程中遇到这么个场景,我需要在爷组件中请求数据,请求到的数据呢需要在孙...
    99+
    2024-04-02
  • 开发一个封装iframe的vue组件
    目录一、组件介绍 二、组件内部结构及逻辑 1、代码组织结构2、地图组件三、iframe接口 四、外部接口 五、运行结果六、总结 VUE的基本组成单元,我看应该是组件。用VUE开发前端...
    99+
    2024-04-02
  • vue前端开发层次嵌套组件的通信详解
    目录前言示例小结前言 vue父子组件之间通过props很容易的将父组件的值传递给子组件,如果一个组件嵌套很多层,每一层之间度需要同props进行传值,很麻烦,且不易维护 示例 【示例...
    99+
    2024-04-02
  • 如何在vue中更优雅的封装第三方组件详解
    目录一、需求场景描述二、关键技术点介绍1.v-bind="$attrs"2.v-on="$listeners"三、封装el-image的代码示...
    99+
    2024-04-02
  • 如何编写vue的组件库
    随着Vue框架的不断发展和普及,越来越多的开发者开始使用Vue编写Web应用程序。在Vue开发中,组件是Vue的核心概念之一,可以让开发者更加灵活和高效地组织代码和交互逻辑。因此,编写Vue的组件库就成为了许多开发者关注和探索的领域。本文将...
    99+
    2023-05-25
  • vue组件化开发指的是什么意思
    小编给大家分享一下vue组件化开发指的是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 在vue中,组件化开发指的是将复杂的业务拆分为多个组件,每个组件...
    99+
    2024-04-02
  • 如何解决Vue+Element ui开发中碰到的IE问题
    这篇文章将为大家详细讲解有关如何解决Vue+Element ui开发中碰到的IE问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IE9样式错乱,IE11无法正常加载v-...
    99+
    2024-04-02
  • webpack如何打包一个按需引入的vue组件库
    目录前言在项目中使用vue组件库的一般姿势webpack实现可按需引入的组件库接下来就是使用webpack打包调试组件库npm 发布步骤非常简单,只需4步调试组件库按需引入总结前言 ...
    99+
    2024-04-02
  • python中如何优雅的一次性判断多个条件
    这篇文章主要介绍python中如何优雅的一次性判断多个条件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!优雅的一次性判断多个条件假如有三个条件,只要有一个为真就可以通过,也许你会这么写:x, y, ...
    99+
    2023-06-27
  • VUE 组件开发的常见陷阱和如何避免它们
    Vue.js 以其简易性、灵活性而闻名,是构建强大、响应式 Web 应用程序的绝佳选择。然而,在 Vue 组件开发中,存在一些常见的陷阱,如果不加以注意,可能会影响应用程序的性能、可维护性和整体质量。本文将探讨这些陷阱,并提供有关如何避...
    99+
    2024-02-28
    Vue 组件、陷阱、最佳实践、性能、可维护性
  • 一个vue组件库发布到npm的完整实现过程
    目录新建项目创建组件库打包部署使用总结新建项目 初始化一个vue项目 src下面创建一个plugins文件夹,index.js文件,这个文件是组件的出口文件。 npm install...
    99+
    2024-04-02
  • 如何开发一个jquery的插件
    在现代网页开发中,jquery 插件可以帮助我们节省更多开发时间,使我们的代码更具可重用性,从而加速我们的开发流程。本文将教你如何开发一个简单的 jquery 插件,希望能为初学者提供帮助。编写 jquery 插件的基本结构要开发一个 jq...
    99+
    2023-05-18
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作