引言
vucc: vue pc端组件库,转为快速开发而生
兼容性
chrome 49.0.2623:全兼容
firefox 41.0.1:全兼容
ie10~11:全兼容
ie9:css3动画无效,其他都兼容
ie8:css3属性均无效,其中以圆角效果为主的组件效果比较差。
建议在以ie9以上浏览器为主的情况下,采用本组件。
安装和使用方法
调用
a) npm引入
npm install vucc
或者:
package.json 中配置 dependencies
“vucc” : “^1.2.0”
b) 标签引入
下载源代码
script引入/dist/app.js
link引入/dist/style.css
使用方法
一、 整体库引用
支持cmd && amd引入方法 && 直接引入的方法
a)
b)
加入到vue中使用方式
c)
二、 整体库引用
支持cmd && amd引入方法 && 直接引入的方法
a)
b)
加入到vue中使用方式
组件开发规范
es6
组件代码全面支持 es6
的编码规范,编码时统一采用es6的统一写法进行代码编写
每个组件为一个模块
新建组件
新增组件步骤:
- · 以组件名新增文件夹
- · 文件夹下新增index.vue
· public.js 中引入相关的组件,以
v + 组件名
的驼峰写法对外暴露的组件名例: button组件 暴露为 vButton
- · 外部在引入组件即可使用
原则上每个组件文件夹只对外暴露一个同名组件
组件模块顺序
组件采用vue单一文件组件的方式进行编写,文件内部结构顺序为:
- · 注释说明
- · template
- · script
- · style
注释说明
注释说明应遵循jsdoc相关规范,主要说明内容示例如下:
所有参数都应体现在组件头部方便大家查找使用
template
template为组件模板,主要需要注意以下两点:
· 使用简写
按照vue约定统一使用简写,具体可参考vue缩写例:
v-bind:click 简写为 @click | v-bind:class 简写为 :class
· 唯一包装元素
不推荐:<template><span></span><button :style="appendStyle" :class="['vc-btn', typeClass]"><slot></slot></button></template>推荐:
<template><button :style="appendStyle" :class="['vc-btn', typeClass]"><span><slot></slot></span></button></template>
这么做是为了在使用this.$el时,返回组件实体,而不是#text节点,具体可参考片段实例
script
- · props
外部传入组件的参数,如有默认值,可以写入默认值,必填项必须做出必须做出类型限制,并在文档中给出相应的说明
例子:props: Object.assign({}, componentBaseParamConfig, {type: {type: String,default: 'default'},size: {type: String,default: 'normal'},isDisabled: {type: Boolean,default: false}})
组件代码构建
代码主要采用webpack为构建方案,cmd为模块化方案,页面能够进行自动热替换
以下操作之前你得先进入项目vue目录下
准备
首先,你得有nodejs + npm
|
开发环境启动
启动开发环境,只需要
然后可以在 http://localhost:8090/test/ 看到demo
开发环境打包
生成文件为未压缩的调试代码,需执行
高级使用
使用theme.scss替换现有样式库配置文件,中的配置样式
使用准备
必需要安装的npm包
node-sass,sass-loader,node-bourbon
webpack中配置
sassLoader: {
includePaths: [path.join(__dirname, ‘./src’)] // ./src下新建theme.scss即可
}
theme.scss中覆盖使用
在theme.scss中覆盖当前样式变量,具体样式变量如下
组件示例
图标
栅格化
栅格化布局采用24栏处理,
vc-col-*
代表所占的栅格栏数
vc-offset-*
代表模块左侧占多少栏空白
<div class="vc-row"> <div class="vc-col-6">6列</div> <div class="vc-col-18">18列</div></div>