环境搭建_登录组件_vuex自动引入

文章详细描述了一个Vue项目的初期配置过程,包括使用vue-cli创建项目,配置Babel、Vuex和路由,安装依赖如axios和ElementUI。还涉及了JWT的使用,动态路由的生成,以及登录页面的搭建,包括表单验证和样式设计。最后提到了模块的自动化引入和Vuex的数据管理。
摘要由CSDN通过智能技术生成
  1. 环境搭建

项目前期配置
1 构建项目:

vue create finance-manager;  cd finance-manager;  

2 项目配置
bable/ vuex/ vue version/css Pre-processors/Router
vue2/ Sass/scss(with dart-sass)
history? n 需要服务器配合
save this as a preset ?n

3 安装第三方依赖

npm i axios jsonwebtoken vue-count-to echarts element-ui@2.15.0 -S

JWT的解密码:
jindu520

menus.json: 后台给的路由接口,通过menu生成动态路由
4 接口文档:

账号:admin
密码:approve123456.
npm run serve

在这里插入图片描述

router和store已经配置好了
在这里插入图片描述

添加Login.vue文件

<template>
    <div>
        我是Login
    </div>
</template>
  
<script>
export default {
    
}
</script>

<style scoped></style>

在router下的index.js添加Login.vue的路由:懒加载的方式

 {
    path: '/login',
    name: 'Login',
    component: () => import(/* webpackChunkName: "about" */ '../views/Login.vue')
  }

login.vue 跳转成功
在这里插入图片描述
如果没显示出来,可能要重新启动项目

Created with Raphaël 2.3.0 开始 新建页面 配置路由 显示页面

添加初始样式:
在这里插入图片描述

居中方式:

.center {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}

编写Login.vue

template中

 <div class="login-box">
        <div class="login-input-box center">
            <h1>信贷管理系统</h1>
        </div>
    </div>

script样式
设置宽、高、像素值尽可能是双数,背景图片、

.login-input-box {
  width: 650px;
  height: 320px;
}
.login-box {
  height: 100%;
  background: url(../assets/bg2.jpg);
  background-size: cover;
  }

background-size: cover 按照背景撑满
background-size: contain 按照图片撑满

在这里插入图片描述
App.vue
App.vue是Vue的入口,在App.vue中调用其他页面
template删掉

 <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link>
    </div>
 
  </div>

style删掉

#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

#nav {
  padding: 30px;

  a {
    font-weight: bold;
    color: #2c3e50;

    &.router-link-exact-active {
      color: #42b983;
    }
  }
}

在这里插入图片描述
app是显示的页面,app在main.js中渲染了?不是很懂

检查元素可以知道,body有8px的margin,要去掉,所以引入全局样式
在这里插入图片描述

全局样式都写在main.js 中

import './assets/normalize.css';

在这里插入图片描述
给login-input-box添加文本居中,白色背景图片

 background: #fff;
 text-align: center;

在这里插入图片描述
style样式调整

  padding: 40px 40px 12px 12px;

在这里插入图片描述
完整引入element-ui

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

自定义的样式一般放在他的下面
添加表单,
v-model可以数据绑定,输入框的数据发生变化,ruleForm下的username也会发生变化

<el-form ref="ruleForm" class="demo-ruleForm" :rules="rules" label-width="100px">
                <el-form-item prop="username">
                    <el-input v-model="ruleForm.username" autocomplete="off"></el-input>
                </el-form-item>
                <el-form-item prop="pass">
                    <el-input v-model="ruleForm.pass" type="password"></el-input>
                </el-form-item>
                <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
 </el-form>

script中添加data

   data() {
        return {
            ruleForm: {
                username: 'aa',
                pass: 'xxx'
            },
        }
    },

在这里插入图片描述

return里面添加rules

      rules: {
                pass: [
                    { required: true, trigger: 'blur',message:'请输入密码' }
                ],
                username: [
                    { required: true, trigger: 'blur',message:"请输入用户名" }
                ],
            }

在这里插入图片描述
没有message属性的话,默认提示的是英文
添加输入框的背景颜色:用了scss的 ::v-deep

::v-deep .el-input__inner{
    background-color: #f1f1f1;

}

vscode的快捷键
==========开始写登录流程

module的自动化引入


const modulesFn = require.context('./modules',true,/\.js$/); const regex = /.*\(.*)\.js$/ //正则匹配

const modules = {};

//modulesFn.key() 可以获取到上述满足条件的文件加载路径
 modulesFn.keys().forEach(filepath => {   console.log(filepath);  
  let moduleName = regex.exec(filepath);   
  if(moduleName !== null) {
    moduleName = moduleName[1]   }   
    const moduleObj = modulesFn(filepath);   
    modules[moduleName] = {
    namespaced:true,
    ...moduleObj.default 
      } })

 modules: modules

数据导入到vuex中
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值