先在npm中安装vue脚手架,

 //先安装国内镜像源
npm install -g cnpm --registry=https://registry.npm.taobao.org //安装vue
cnpm install --global vue-cli //创建一个项目
vue init webpack my-project //安装依赖
cd my-project
cnpm install //加入vue-router
cnpm install vue-router --save //加入vuex
cnpm install vuex --save //加入elementUI
cnpm i element-ui -S

页面布局

先App.vue

 <template>
<div id="app">
<router-view/>
</div>
</template> <script> export default {
name: 'app',
}
</script> <style>
body {
margin: 0;
padding: 0;
font-size: 12px;
}
</style>

再Home.vue

 <template>
<el-container class="is-vertical">
<my-header></my-header>
<el-container>
<el-aside width="230px">
<el-menu class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect"
unique-opened router background-color="#333d52"
text-color="#fff">
<template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">
<el-submenu :index="index+''" v-if="!item.leaf">
<template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
<el-menu-item v-for="child in item.children" :index="child.path" :key="child.path" v-if="!child.hidden">
{{child.name}} </el-menu-item>
</el-submenu>
<el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i :class="item.iconCls"></i>{{item.children[0].name}}</el-menu-item>
</template>
</el-menu>
</el-aside>
<el-main>
<router-view></router-view>
</el-main>
</el-container>
</el-container>
</template> <script>
import header from './header'
export default {
methods: {
handleopen() {
//console.log('handleopen');
},
handleclose() {
//console.log('handleclose');
},
handleselect: function (a, b) {
},
},
components: {
'my-header': header,
}
}
</script>

因header重新注册了一个新的组件

 <template>
<el-header>
<el-row :gutter="12">
<el-col :span="3" class="logo-width"><img src="../img/top_icon.png" alt=""></el-col>
<el-col :span="6">
<el-dropdown>
<span class="el-dropdown-link">
<i class="el-icon-setting" style="margin-right: 10px"></i><span>admin</span>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>设置</el-dropdown-item>
<el-dropdown-item>修改密码</el-dropdown-item>
<el-dropdown-item>退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-col>
<el-col :span="6" class="userinfo">
<el-dropdown>
<span type="primary">admin</span>
<!--<i class="el-icon-setting" style="margin-right: 15px"></i>-->
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>设置</el-dropdown-item>
<el-dropdown-item>修改密码</el-dropdown-item>
<el-dropdown-item>退出</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<span>|</span>
<el-button type="text">退出</el-button>
</el-col>
</el-row>
</el-header>
</template> <script> </script> <style scoped>
.el-header {
background: #373d41;
color: #fff;
line-height: 60px;
padding-left: 6px;
}
.el-dropdown {
color: #fff;
}
.logo-width {
width: 230px;
text-align: center;
border-color: hsla(62,77%,76%,.3);
border-right-width: 1px;
border-right-style: solid;
}
.userinfo {
text-align: right;
padding-right: 35px;
float: right;
}
.el-button--text {
color: inherit;
}
</style>

然后是main.js

 // The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUi from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUi) Vue.config.productionTip = false
// $router.path('/overview') /* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})

router.js

 import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Error from '@/components/404'
import overview from '@/components/overview/overview'
import instance from '@/components/instance/instance'
import backup from '@/components/instance/backup'
import recycleBin from '@/components/instance/recycleBin'
import keypairs from '@/components/instance/keypairs'
import capacityCalculation from '@/components/instance/capacityCalculation'
import ess_alarm from '@/components/ess/ess_alarm'
import ess_cluster from '@/components/ess/ess_cluster'
import ess_policy from '@/components/ess/ess_policy'
import ess_profile from '@/components/ess/ess_profile'
import ess_timer from '@/components/ess/ess_timer' Vue.use(Router); export default new Router({
routes: [
{
path: '/',
component: Home,
name: '',
iconCls: 'el-icon-message',
leaf: true,//只有一个节点
children: [
{ path: 'overview', component: overview, name: '云概览', mach: [] }
]
},
{
path: '/404',
name: '404',
component: Error,
hidden: true
},
{
path: '/',
component: Home,
name: '云主机',
iconCls: 'el-icon-message',//图标样式class
children: [
{ path: 'instance', component: instance, name: '云主机列表', mach: [] },
{ path: 'recycle_bin', component: recycleBin, name: '回收站', mach: [] },
{ path: 'capacity_calculation', component: capacityCalculation, name: '容量计算', mach: [] },
{ path: 'backup', component: backup, name: '备份', mach: [] },
{ path: 'keypairs', component: keypairs, name: '密钥对', mach: [] },
]
},
{
path: '/',
component: Home,
name: '弹性伸缩',
iconCls: 'el-icon-message',//图标样式class
children: [
{ path: 'ess_profile', component: ess_profile, name: '伸缩配置', mach: [] },
{ path: 'ess_policy', component: ess_policy, name: '伸缩规则', mach: [] },
{ path: 'ess_cluster', component: ess_cluster, name: '伸缩组', mach: [] },
{ path: '/', component: Home, name: '告警任务', mach: [
{ path: 'ess_timer', component: ess_timer, name: '定时伸缩'},
{ path: 'ess_alarm', component: ess_alarm, name: '告警伸缩'}
] }
]
},
]
})

vue + vue-router+vuex+elementUI开发环境搭建的更多相关文章

  1. vue前端+java后端 vue + vuex + koa2开发环境搭建及示例开发

    vue + vuex + koa2开发环境搭建及示例开发 https://segmentfault.com/a/1190000012918518 vue前端+java后端 https://blog.c ...

  2. Electron+Vue+ElementUI开发环境搭建

    Node环境搭建 本文假定你完成了nodejs的环境基础搭建: 镜像配置(暂时只配置node包镜像源,部分包的二进制镜像源后续讨论).全局以及缓存路径配置,全局路径加入到了环境变量 $ node -v ...

  3. vue学习【一、开发环境搭建】

    一.安装node.js https://nodejs.org/en/ 建议安装LTS版本 安装完毕之后cmd命令查看node版本,如果不识别,记住设置环境变量 显示上面信息则安装成功 二.设置node ...

  4. windows下vue+webpack前端开发环境搭建及nginx部署

    一.开发环境搭建 1.前端框架一般都依赖nodejs,我们首先要安装node.js.请参考http://www.cnblogs.com/wuac/p/6381819.html. 2.由于许多npm的源 ...

  5. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

  6. vue开发环境搭建及热更新

    写这篇博客的目的是让广大的学者在初入Vue项目的时候少走些弯路,虽然现在有很多博客也有差不多的内容,但是博主在里面添加了一些学习时碰到的小问题.在阅读这篇博客之前,我先给大家推荐一篇文章<入门W ...

  7. vue 开发系列(一) vue 开发环境搭建

    概要 目前前端开发技术越来越像后台开发了,有一站式的解决方案. 1.JS包的依赖管理像MAVEN. 2.JS代码编译打包. 3.组件式的开发. vue 是一个前端的一站式的前端解决方案,从项目的初始化 ...

  8. express+mysql+vue开发环境搭建

    最近开始做一个实验室资产管理系统,后台使用node.js的Express框架,前端使用vue,数据库使用mysql.在这里开始简单记录一下开发过程和遇到的问题. 今天要说的是express+mysql ...

  9. 最全Vue开发环境搭建

    前言 一直想去学Vue,不过一直找不到一个契机.然公司手机端用到了跨平台开发apicloud,里边涉及到Vue组件化开发,例如header和footer的封装,以及apicloud自定义的frame等 ...

随机推荐

  1. 【PMP】项目、项目集、项目组合

    项目:为创建独特的产品和服务成果而进行的临时性工作. 项目集:是一组相互关联且被协调管理的项目.子项目集和项目活动,以便获得分别管理所无法获得的利益. 项目组合:是指实现战略目标而组合在一起管理的项目 ...

  2. jQuery实现表格行上移下移和置顶

    jQuery实现表格行上移下移和置顶 我们在操作列表数据的时候,需要将数据行排列顺序进行调整,如上移和下移行,将行数据置顶等,这些操作都可以在前端通过点击按钮来完成,并且伴随着简单的动态效果,轻松实现 ...

  3. CentOS7下 让Docker pull命令使用squid做http代理拉取目标镜像仓库的镜像

    场景,如下图所示: 服务器B具有两个网卡,分别和服务器A和服务器C互通,这里想要在服务器C上借助服务器B作为桥梁,拉取镜像仓库服务器A上的镜像. 思路也很简单,在服务器上搭建HTTP代理服务,服务器C ...

  4. (转)超过 130 个你需要了解的 vim 命令

    从 1970 年开始,vi 和 vim 就成为了程序员最喜爱的文本编辑器之一.5 年前,我写了一个问自己名为 “每个程序员都应该知道的 100 个 vim 命令” 这次算是之前那篇文章的改进版,希望你 ...

  5. Sql Server查询性能优化之不可小觑的书签查找

    小小程序猿SQL Server认知的成长 1.没毕业或工作没多久,只知道有数据库.SQL这么个东东,浑然分不清SQL和Sql Server Oracle.MySql的关系,通常认为SQL就是SQL S ...

  6. javascript中的数据结构

    Javascript中的关键字   abstract     continue      finally      instanceof      private       this boolean ...

  7. Kubernetes1.2如何使用iptables

    转:http://blog.csdn.net/horsefoot/article/details/51249161 本次分析的kubernetes版本号:v1.2.1-beta.0. Kubernet ...

  8. [docker]使用quaaga实现(rip ospf)实现主机间容器互通

    使用quaaga实现(rip ospf)实现主机间容器互通 - n1设置 brctl addbr br0 ip a a 10.1.1.1/24 br0 ip a a 10.1.1.1/24 dev b ...

  9. 【Netty】通俗地讲,Netty 能做什么?

    作者:郭无心链接:https://www.zhihu.com/question/24322387/answer/78947405来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  10. 【iCore4 双核心板_ARM】例程二十:LWIP_TCP_CLIENT实验——以太网数据传输

    实验现象: 核心代码: int main(void) { system_clock.initialize(); //ϵͳʱÖÓ³õʼ»¯ led.initialize(); //LED³õʼ ...