您好,登錄后才能下訂單哦!
一、安裝npm鏡像
(1)下載node.js, 配置node.js的環境變量
檢測PATH環境變量是否配置了Node.js,點擊開始=》運行=》輸入"cmd" => 輸入命令"path"
檢查Node.js版本
在命令窗口輸入:npm install -g cnpm –registry=https://registry.npm.taobao.org
二、安裝全局vue-cli
(1)npm install -g vue-cli 回車,驗證是否安裝成功,在命令行中輸入vue,出來vue的信息說明安裝成功
三、全局安裝 vue-cli
(1)npm install --global vue-cli
四、創建一個基于 webpack 模板的新項目
(1)vue init webpack my-project (項目名)
(2)cd my-project
(3)npm install
(4)npm run dev
五、需要安裝的環境
(1)npm install sass-loader --save-dev
(2)npm install gulp-sass
(3)npm install --save axios
(4)npm install element-ui -S
(5)npm install vuex --save
六、需要引入的包(element-ui)
(1) import ElementUI from 'element-ui'
(2) import 'element-ui/lib/theme-default/index.css'
(3) import Vue from 'vue'
(4) 使用:Vue.use(ElementUI)
七、項目代碼結構
項目源碼:https://github.com/davis0511/school-ui
(1)
(2)首頁Home.vue
<template> <el-row class="container"> <el-col :span="24" class="header"> <el-col :span="20" class="logo"> <img src="./assets/logo4.png" /> <span>學校管理<i class="txt">系統</i></span> </el-col> <el-col :span="4" class="userinfo"> <el-dropdown trigger="click"> <span class="el-dropdown-link userinfo-inner"><img :src="this.sysUserAvatar" /> {{sysUserName}}</span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item>我的消息</el-dropdown-item> <el-dropdown-item>設置</el-dropdown-item> <el-dropdown-item divided @click.native="logout">退出登錄</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </el-col> </el-col> <el-col :span="24" class="main"> <aside> <el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" theme="dark" unique-opened router> <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" 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> </aside> <section class="content-container"> <div class="grid-content bg-purple-light"> <el-col :span="24" class="breadcrumb-container"> <strong class="title">{{$route.name}}</strong> <el-breadcrumb separator="/" class="breadcrumb-inner"> <el-breadcrumb-item v-for="item in $route.matched"> {{ item.name }} </el-breadcrumb-item> </el-breadcrumb> </el-col> <el-col :span="24" class="content-wrapper"> <transition> <router-view></router-view> </transition> </el-col> </div> </section> </el-col> </el-row> </template> <script> export default{ data() { return { sysUserName:'' } }, methods:{ onSubmit() { console.log('submit!'); }, handleopen() { //console.log('handleopen'); }, handleclose() { //console.log('handleclose'); }, handleselect: function (a, b) { }, //退出登錄 logout: function () { var _this = this; this.$confirm('確認退出嗎?', '提示', { //type: 'warning' }).then(() => { sessionStorage.removeItem('user'); _this.$router.push('/login'); }).catch(() => { }); } } } </script> <style scoped lang="scss"> .container { position: absolute; top: 0px; bottom: 0px; width: 100%; .header { height: 60px; line-height: 60px; background: #1F2D3D; color: #c0ccda; .userinfo { text-align: right; padding-right: 35px; .userinfo-inner { color: #c0ccda; cursor: pointer; img { width: 40px; height: 40px; border-radius: 20px; margin: 10px 0px 10px 10px; float: right; } } } .logo { font-size: 22px; img { width: 40px; float: left; margin: 10px 10px 10px 18px; } .txt { color: #20a0ff } } } .main { background: #324057; position: absolute; top: 60px; bottom: 0px; overflow: hidden; aside { width: 230px; } .content-container { background: #f1f2f7; position: absolute; right: 0px; top: 0px; bottom: 0px; left: 230px; overflow-y: scroll; padding: 20px; .breadcrumb-container { margin-bottom: 15px; .title { width: 200px; float: left; color: #475669; } .breadcrumb-inner { float: right; } } .content-wrapper { background-color: #fff; box-sizing: border-box; } } } } </style>
(3)App.vue
(4)main.js
import Vue from 'vue' import Router from 'vue-router' import App from './App' import routes from './router' import ElementUI from 'element-ui' import 'element-ui/lib/theme-default/index.css' Vue.use(Router) Vue.use(ElementUI) const router = new Router({ routes }); Vue.config.productionTip = false new Vue({ router, render: h => h(App) }).$mount('#app')
(5)router.js
import Home from './Home' import classes from './class/classes' import student from './student/student' let router = [ { path: '/', name: '學校', component: Home, redirect: '/classes', iconCls: 'fa fa-id-card-o', children: [ { path: '/classes', component: classes, name: '班級管理' }, { path: '/student', component: student, name: '學生管理' } ] } ]; export default router;
八、完成之后,npm run dev; 界面渲染如下:
以上這篇搭建element-ui的Vue前端工程操作實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。