构建以及引入外部组件
前言
我们在日常的开发中,经常会去使用和封装各种各样的组件库。有些是开源的,第三方开发的UI库,有些是我们开发人员给自己的特定的业务封装的UI库。其中很多情况其实是以流行的 开源UI库(或者fork的改版)
+ 自己封装的业务组件为主的
开源UI库
它们的样式相对来说是独立于整套系统的,比如它们的样式都是 ant-
,el-
开头的,一般引入之后不会和原先系统里的样式产生冲突。而 自己封装的业 务组件
,由于往往和系统高度绑定也没有这样的问题。
那么如何用 tailwindcss
来构建/发布和引入自己封装的业务组件呢?
构建组件
核心思想
首先我必须重点把本篇文章的核心思想预先抛出:
tailwindcss
只是一个css
生成器,它只是帮你按照一定的规则,从你的源代码中匹配字符串去生成css
。所以在用它去构建组件的时候,一定要去思考你用 tailwindcss
生成的 css
的影响范围,因为大部分用 tailwindcss
都是默认全局应用的。但是你在组件里面的自定义样式很多情况下,是没有必要的。
根据这个核心思想,我们就可以知道在封装组件时可行和不可行的方式了,大致如下:
可行方案
custom css selector
+Functions & Directives
add prefix
(添加前缀)add scoped
(像vue
的scoped
一样添加 data-v-[hash] 类似的自定义属性,然后去修改css选择器)- 不打包方案 (不构建产物,直接发布,然后在项目里安装,再提取
node_modules
里制定的文本重新生成。)