关于组件库:使用-NutUI-搭建自定义业务风格的组件库-京东云技术团队
作者:京东批发 佟恩 本文介绍,如何应用 NutUI 组件库,搭建一套为专属业务格调的业务组件库。 NutUI 是一款京东格调的挪动端组件库。NutUI 目前反对 Vue 和 React技术栈,反对Taro多端适配。当下的实现形式个别组件库,都会给用户提供批改主题的形式。比方在 NutUI 组件库中,给用户提供了两种形式: 批改CSS变量,NutUI 组件库反对通过全局配置组件 ConfigProvider 组件实现主题定制;const customTheme = { nutuiBadgeBorderRadius: '12px 12px 12px 0',}<ConfigProvider theme={customTheme}> <Badge value="NEW"> <Avatar icon="my" shape="square" /> </Badge></ConfigProvider>通过SCSS 变量,NutUI 组件库提供通过编写一套自定义主题的款式文件,间接笼罩现有款式文件,实现主题定制。// 新建一个 SCSS 文件 custom_theme.scss 进行自定义// 主色调$primary-color: #478EF2;$primary-color-end: #496AF2;// vue 版本{ test: /\.(sa|sc)ss$/, use: [ { loader: 'sass-loader', options: { // 留神:在 sass-loader 不同版本,这个选项名是 是不一样的,具体可参考 sass-loader对应的版本文档 data: `@import "@/assets/custom_theme.scss";@import "@nutui/nutui-react/dist/styles/variables.scss";`, } } ]}以后问题与解决思路以上两种形式,对于咱们实现单个我的项目来讲,还是比较简单的,然而如果咱们业务条线下的每一个我的项目都须要这样接入,那这个接入形式就会显得蠢笨起来。 那咱们怎么能力优雅的接入呢? 咱们的思路是,NutUI 与业务侧一起,独特输入一套属于本人业务格调的组件库。 其中,NutUI 提供组件库反对主题定制的配置和编译能力,业务侧输入交互与视觉标准,共同完成组件库的适配计划,输入定制化组件库的 NPM 包,进而在业务我的项目中提供反对。 ...