一、安装 element-ui
1》简介
UI框架。使用 element-ui 用于实现页面的绘制。
【官网:】
https://element.eleme.cn/#/zh-CN
【文档:】
https://element.eleme.cn/#/zh-CN/component/installation
2》安装
UI框架。使用 element-ui 用于实现页面的绘制。
【安装方式一:(npm 安装)】
npm i element-ui -S
【安装方式二:(CDN 方式引入)】
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
3》引入 element-ui
在 main.js 中引入(也可以自定义一个 js,然后在 main.js 中引入自定义的 js)。
二、修改app.vue
1》简介
入口文件,通过 router 将组件 显示在 router-view 标签处。
2》修改页面内容
<template>
<div id="app">
<router-view />
</div>
</template>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
html,
body,
#app {
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
三、404页面
1》简介
定义错误页面。当错误发生时,用于跳转到 404 页面。
2》views目录下新建页面404.vue 代码
<template>
<div class="error-wrapper">
<h2 class="not-find-title">404</h2>
<p class="not-find-desc">抱歉!您访问的页面<em>失联</em>啦 ...</p>
<el-button @click="$router.go(-1)">返回上一页</el-button>
<el-button type="primary" class="not-find-btn-gohome" @click="$router.push({ name: 'Home' })">进入首页</el-button>
</div>
</template>
<script>
export default {
name: '404',
data() {
return {};
},
};
</script>
<style lang="scss" scoped>
.error-wrapper {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
}
.not-find-title {
margin: 20px 0 15px;
font-size: 10em;
font-weight: 400;
color: rgb(55, 71, 79);
}
.not-find-desc {
margin: 0 0 30px;
font-size: 26px;
color: rgb(118, 131, 143);
}
.not-find-desc > em {
font-style: normal;
color: #ee8145;
}
.not-find-btn-gohome {
margin-left: 30px;
}
</style>
3》路由
{
path: "*",
name: "404",
component: () => import('./views/404.vue')
},
4》页面展示
四、Login.vue登录页面
1》简介
登录页 未登录时跳转到登录页面
2》页面代码
<template>
<div class="login" :style="{ backgroundImage: 'url(' + loginBg + ')' }">
<div class="wrapper">
<h3 class="head">CMS后台管理系统</h3>
<el-form :rules="rules" size="medium" :model="loginForm" ref="loginForm" class="login-form" @keyup.enter.native="submitForm">
<el-form-item prop="username">
<el-input size="medium" type="text" v-model.trim="loginForm.username" placeholder="请输入用户名" autocomplete="off"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input size="medium" type="password" v-model.trim="loginForm.password" placeholder="请输入密码" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<el-button size="medium" style="width: 100%" type="primary" @click="submitForm">立即登录</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
// import md5 from 'js-md5';
export default {
name: 'Login',
data() {
return {
loginBg: require('../assets/images/login-bg.png'),
loginForm: {
username: '',
password: '',
},
rules: {
username: [{ required: 'true', message: '账户不能为空', trigger: 'blur' }],
password: [{ required: 'true', message: '密码不能为空', trigger: 'blur' }],
},
};
},
methods: {
// 提交表单
submitForm() {
// 登录
// this.$router.push({
// name: 'Home',
// });
},
},
};
</script>
<style scoped>
.login {
height: 100vh;
background-size: 100% 100%;
}
.wrapper {
position: absolute; /* fixed 同理 */
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 20rem;
}
.head {
margin-bottom: 25px;
color: #fff;
font-size: 24px;
}
</style>
注意:随意准备一张背景图login-bg.png放在文件夹assets的images文件夹下
3》页面路由
{
path: "/login",
name: "Login",
component: () => import("./views/login.vue")
}
4》页面效果
补充:有木有报错 有没有报错 下面的报错有吗?
别急 安装两个依赖就搞定了
npm install sass-loader node-sass --save-dev