vue.js的UI组件库,在git上有多个项目,我见的使用者比较多的是iView
和Element
.两个组件库,组件都很丰富。css
官网的介绍html
iView: 一套基于 Vue.js 的高质量 UI 组件库vue
Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的组件库,提供了配套设计资源,帮助你的网站快速成型。webpack
二者各有优缺点,很少评论,根据本身的需求,我最后使用了Element。git
推荐使用 npm
的方式安装,它能更好地和 webpack
打包工具配合使用。我系统使用了淘宝镜像,因此须要安装的状况下,通常用cnpm
代替npm
github
$ cnpm i element-ui -S
安装完成以后,package.json
文件会增长element-ui
依赖。web
"dependencies": { "element-ui": "^1.3.3", "vue": "^2.2.6", "vue-router": "^2.3.1" },
配置文件,可使用默认的。由于,在使用vue-cli
脚手架生成工具,生成项目的时候,已经帮咱们配置好了。vue-router
引入有两种方式,
1:完整引入。这种方法使用方便,可是会增大项目体积。
2:按需引入。这种方法须要安装插件,修改配置文件。使用的时候只须要引入须要的组件,减小项目体积。vue-cli
在main.js
中写入如下内容:npm
import ElementUI from 'element-ui' import 'element-ui/lib/theme-default/index.css' Vue.use(ElementUI)
以上代码便完成了Element
的引入。须要注意的是,样式文件须要单独引入。
借助 babel-plugin-component
,咱们能够只引入须要的组件,以达到减少项目体积的目的。
首先,安装 babel-plugin-component
:
$ cnpm install babel-plugin-component -D
这个命令,会将babel-plugin-component
保存在开发环境的依赖包
"devDependencies": { "autoprefixer": "^6.7.2", "babel-core": "^6.22.1", "babel-loader": "^6.2.10", "babel-plugin-component": "^0.9.1", ... }
而后,将.babelrc修改成:
{ "presets": [ ["env", { "modules": false }], ["es2015", { "modules": false }], "stage-2" ], "plugins": [["component", [ { "libraryName": "element-ui", "styleLibraryName": "theme-default" } ]],"transform-runtime"], "comments": false, "env": { "test": { "presets": ["env", "stage-2"], "plugins": [ "istanbul" ] } } }
这是增长了Element-ui
和默认样式的类库插件
接下来,若是只须要引入部分组件,好比Button
和 InputNumber
, 那么须要在main.js
中写入如下内容:
import { Button, InputNumber } from 'element-ui' Vue.use(Button) Vue.use(InputNumber)
至此,一个基于 Vue
和 Element
的开发环境已经搭建完毕,如今就能够编写代码了。
安装依赖:
$ cnpm install
启动开发模式:
$ npm run dev
若是要编译的话,使用:
$ npm run build
以后,就能够正常使用了。
App.vue
经过增长三个按钮和input-number
,来测试用例。
<template> <div id="app"> <img src="./assets/logo.png"> <router-view></router-view> <el-button>默认按钮</el-button> <el-button type="primary">主要按钮</el-button> <el-button type="text">文字按钮</el-button> <el-input-number v-model="num1" @change="handleChange" :min="1" :max="10"></el-input-number> <br /> <el-input placeholder="elinput输入框">a</el-input> <input placeholder="input输入框">b</input> </div> </template> <script> export default { name: 'app', data() { return { num1: 1 }; }, methods: { handleChange(value) { console.log(value); } } } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } </style>
$npm run dev
显示效果:
这样说明,咱们能够在项目中,正常使用了。
ElementUI组件官网,写的很不错。若是项目中遇到有什么不明白的地方,多看两遍,也许会惊喜的发现问题答案。