• VUE 脚手架框架 编写一个简洁的登录界面


    前言

             一个好的前端开发项目,都是一个团队负责一个部分进行通力合作的。简单的一个系统网站一般包含登录、主体、各个模块功能这三个大部分,现在我们写的登录界面,我们一般编写这样的登录界面可以说有一定的固定套路。

    目录

    前言

    安装Vue脚手架

    创建登录界面的文件--login.Vue

    配置路由-- router.js

    配置main.js

    编写登录界面--Login.Vue

    结果展示

    总结


    • 安装Vue脚手架

          1、我们一Windows 10为例子,安装Vue 3脚手架前,我们先要配置node js环境;

          2、接下来,安装Vue,安装的过程不多说,大家可以到官网去自行下载就可以了,链接Vue.js;Vue.js - The Progressive JavaScript Frameworkhttps://cn.vuejs.org/

    或者,可以选择另一种安装方式:

    打开控制台,输入一下命令行

    npm install vue -g

        3、等待安装Vue,还需安装Vue-cli (脚手架),输入如下命令进行安装

    npm install -g vue-cli

       4、对项目文件进行初始化 还可以使用webpack作为脚手架,命令如下:

    vue init webpack qiubite-project

     

    • 创建登录界面的文件--login.Vue

       安装完毕后,这里本人使用的是vscode软件,创建一个登录模块的目录页,

     

    • 配置路由-- router.js

       接下来,我们要把vue的router路由配置给配置好,如下:

    1. import Vue from 'vue'
    2. import VueRouter from 'vue-router'
    3. import Login from '../components/Login.vue'
    4. import Home from '../components/Home.vue'
    5. Vue.use(VueRouter)
    6. const router = new VueRouter({
    7. routes: [
    8. { path: '/', redirect: '/login' },
    9. { path: '/login', component: Login },
    10. {
    11. path: '/home',
    12. component: Home,
    13. redirect: '/equipment', // 重定向功能,只要访问home地址,就会重定向到wequipment地址
    14. children: [
    15. { path: '/equipment', component: Equip },
    16. { path: '/deploy', component: Deploy },
    17. { path: '/history', component: History },
    18. { path: '/analysis', component: Analysis },
    19. { path: '/power', component: Power },
    20. { path: '/remote', component: Remote }]// welcome为home的子属性
    21. }
    22. ],
    23. mode: 'history'
    24. })
    25. router.beforeEach((to, from, next) => {
    26. if (to.path === '/login') return next()
    27. const tokenStr = window.sessionStorage.getItem('token')
    28. if (!tokenStr) return next('/login')
    29. next()
    30. })
    31. export default router

     这里我们挂载一个路由守卫,router.beforeEach,这里面to将要访问的路径,from 代表从哪一个路径跳到哪一个去beforeEach,next 是一个函数,表示放行,next()放行 next('/login)强制跳转。用户如果访问login,可以直接跳转,获取token。

    • 配置main.js

    1. import Vue from 'vue'
    2. import App from './App.vue'
    3. import router from './router'
    4. import store from './store'
    5. import ElementUI from 'element-ui'
    6. import 'element-ui/lib/theme-chalk/index.css'
    7. // 导入全局样式表
    8. import './assets/css/global.css'
    9. import axios from 'axios'
    10. axios.defaults.baseURL = 'http://39.101.161.112:9000'
    11. axios.interceptors.request.use(config => {
    12. console.log(config)
    13. config.headers.Authorization = window.sessionStorage.getItem('token')
    14. // 通过axios拦截器添加token验证
    15. return config
    16. // 最后必须要return出去
    17. })
    18. Vue.prototype.$http = axios
    19. Vue.config.productionTip = false
    20. Vue.use(ElementUI)
    21. Vue.use(AMap)
    22. Vue.use(VideoPlayer)
    23. new Vue({
    24. router,
    25. store,
    26. render: h => h(App)
    27. }).$mount('#app')

     

    • 编写登录界面--Login.Vue