是时候着手搞一套属于自己的vue组件库啦!!!

Doran-ui

基于vue(2.x)的一套中后台ui框架,ui设计是基于element和iview的ui设计来做的

目前市面上充斥着各种优秀的vue组件库,有没有想过底层是怎么实现的?对于一个成熟的组件库,因为迭代版本已经很多次了,所以看那些组价库的源码是极其痛苦的,Doran-ui迭代次数少,源码内部自认为难懂的地方都添加的有注释,源码简单易读,是学习进步,了解底层知识的大好东西,值得去阅读学习
github地址,欢迎大家start,另外有不懂或者发现bug的话,可以提issues,我看到的话会及时回复的

注:因为没有经过系统的测试和推广,该ui目前仅供学习。

views目录是各个组件的使用demo

git clone https://github.com/ximoThorn/Doran.git
cd Doran
npm i
npm run serve

在线预览

全局引入

一般在 webpack 入口页面 main.js 中如下配置:


import  Vue  from  'vue'
import  DoranUi  from  'doran'
import  'doran/dist/doran.css'  // 引入css
import  App  from  './App.vue'

Vue.use(DoranUi)

new  Vue({
    render: h  =>  h(App),
}).$mount('#app')

按需引入

借助插件babel-plugin-import可以实现按需加载组件,减少文件体积。首先安装,并在项目根目录文件 .babelrc 中配置:


npm install babel-plugin-import --save-dev // 安装

在.babelrc文件中


{
    "plugins": [["import", {
        "libraryName": "doran",
        "libraryDirectory": "dist/components"
    }]]
}

然后这样按需引入组件,就可以减小体积了:


<template>
    <div  id="app">
        <dr-button  type="error">Doran</dr-button>
        <dr-input  placeholder="请输入"></dr-input>
    </div>
</template>
<script>
import { Button, Input } from  'doran'
export  default {
    name: 'App',
    components: {
        DrButton: Button,
        DrInput: Input
    }
}
</script>

注意:按需引用仍然需要导入样式,即在 main.js中全局引入

Version

1.x

Completed components

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

可以试一试 bit.dev

3年前 评论
ximoThorn (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!