vue-element-admin快速搭建后台模板

环境以及会出现的问题

node版本17.0.0
python版本2.7.10(node-sass依赖)
运行项目报错Error: error:0308010C:digital envelope routines::unsupport
请看这篇文章
https://blog.csdn.net/2301_76809965/article/details/130456851

node-sass安装失败
node-sass 是依赖 python环境的,如果你之前没有安装和配置过的话,需要自行安装并配置对应的环境变量

安装

# 克隆项目
git clone https://github.com/PanJiaChen/vue-element-admin.git

# 进入项目目录
cd vue-element-admin

# 安装依赖
npm install

# 建议不要用 cnpm 安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

# 本地开发 启动项目
npm run dev

目录结构

├── build                      # 构建相关
├── mock                       # 项目mock 模拟数据
├── plop-templates             # 基本模板
├── public                     # 静态资源
│   │── favicon.ico            # favicon图标
│   └── index.html             # html模板
├── src                        # 源代码
│   ├── api                    # 所有请求
│   ├── assets                 # 主题 字体等静态资源
│   ├── components             # 全局公用组件
│   ├── directive              # 全局指令
│   ├── filters                # 全局 filter
│   ├── icons                  # 项目所有 svg icons
│   ├── lang                   # 国际化 language
│   ├── layout                 # 全局 layout
│   ├── router                 # 路由
│   ├── store                  # 全局 store管理
│   ├── styles                 # 全局样式
│   ├── utils                  # 全局公用方法
│   ├── vendor                 # 公用vendor
│   ├── views                  # views 所有页面
│   ├── App.vue                # 入口页面
│   ├── main.js                # 入口文件 加载组件 初始化等
│   └── permission.js          # 权限管理
├── tests                      # 测试
├── .env.xxx                   # 环境变量配置
├── .eslintrc.js               # eslint 配置项
├── .babelrc                   # babel-loader 配置
├── .travis.yml                # 自动化CI配置
├── vue.config.js              # vue-cli 配置
├── postcss.config.js          # postcss 配置
└── package.json               # package.json

运行项目后会自动打开浏览器
以下是登录后的样子
在这里插入图片描述

基本配置

在vue.config.js中修改一下基本配置
端口自己想改什么改什么
在这里插入图片描述
lintOnSave这行直接注释掉,在下面重起一行改为false
这里不改后面写代码会很难受
在这里插入图片描述
把devServe里的open改为false
这个控制运行项目是否默认打开浏览器
在这里插入图片描述
修改完以上配置我们重新启动一下项目
可以看到端口已经修改,而且也没有直接打开浏览器
在这里插入图片描述

路由配置

路由在src/router下配置路由
路由模块主要分为两大块,静态路由和动态路由

静态路由constantRoutes 不会受到用户角色或权限的限制,因此可以在应用程序初始化时立即加载。与 动态路由asyncRoutes 相比,constantRoutes 不需要经过身份验证或权限验证机制。

动态路由constantRoutes 可以根据用户的角色和权限动态生成路由,以确保用户只能访问他们有权限访问的页面。
在这里插入图片描述
之后我们可以修改路由以及自己配置路由
首先我们先把tab导航栏改为中文
这个只需要在路由中把路由的title属性改为对应的中文即可
在这里插入图片描述
修改后效果如下
在这里插入图片描述
如果我们想要自己配置路由也很简单
假设我们需要在首页下面定义一个用户管理模块
在这里插入图片描述
直接复制首页路由的内容修改一下即可
然后我们再去定义对应的模块
在src/views/下新建一个user文件夹,在里面新建一个index.vue文件
在这里插入图片描述
然后我么在vue文件中编写我么需要的功能即可
我这便在此变定义了一个表单,具体代码如下

<template>
  <div class="app-container">
    <el-form :model="form" :rules="rules" ref="form" label-width="100px">
      <el-form-item label="用户ID" prop="id">
        <el-input v-model="form.id" placeholder="请输入用户ID"></el-input>
      </el-form-item>
      <el-form-item label="用户名" prop="username">
        <el-input v-model="form.username" placeholder="请输入用户名"></el-input>
      </el-form-item>
      <el-form-item label="角色" prop="role">
        <el-select v-model="form.role" placeholder="请选择角色">
          <el-option label="管理员" value="admin"></el-option>
          <el-option label="普通用户" value="user"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="权限" prop="permission">
        <el-checkbox-group v-model="form.permission">
          <el-checkbox label="增加"></el-checkbox>
          <el-checkbox label="删除"></el-checkbox>
          <el-checkbox label="修改"></el-checkbox>
          <el-checkbox label="查询"></el-checkbox>
        </el-checkbox-group>
      </el-form-item>
      <el-form-item label="操作">
        <el-button type="primary" @click="submitForm">保存</el-button>
        <el-button @click="resetForm">重置</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>
  
  <script>
export default {
  name: "User",
  data() {
    return {
      form: {
        id: "",
        username: "",
        role: "",
        permission: [],
      },
      rules: {
        id: [{ required: true, message: "请输入用户ID", trigger: "blur" }],
        username: [
          { required: true, message: "请输入用户名", trigger: "blur" },
        ],
        role: [{ required: true, message: "请选择角色", trigger: "change" }],
      },
    };
  },
  methods: {
    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          // 提交表单
          console.log(this.form);
        } else {
          console.log("表单验证失败");
          return false;
        }
      });
    },
    resetForm() {
      this.$refs.form.resetFields();
    },
  },
};
</script>

<style scoped>
    .app-container{
        margin: 0 0 5px 20px;
    }
</style>

我们根据需要修改成自己想要的样子即可
下面是效果图
在这里插入图片描述
到目前为止,一个简单的后台模板就差不多完成了,也没有多少内容,对框架不熟悉的还是自己动手实践一下
完结!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦简_yz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值