首页 > 其他分享 >oh-admin诞生记

oh-admin诞生记

时间:2023-01-11 15:47:28浏览次数:57  
标签:vue name oh admin component ts import path 诞生记

创建基础项目

基于vite创建初始模板 选择vue+ts 后期再安装依赖less支持
输入以下命令 回车

yarn create vite

交互中选择 vue ts
项目初始化完成后 安装less 即可支持less

yarn add --dev less

集成必要插件

antd

过程参考官网

vue-router

过程参考官网
给一个简短参考

// src/router.ts

import { createRouter, createWebHistory } from 'vue-router';
import RouteView from '/@/components/route-view.vue';

export default createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: '/',
      name: 'Layout',
      redirect: { name: 'Home' },
      component: () => import('/@/components/layout/index.vue'),
      children: [
        {
          name: 'Home',
          path: '/home',
          component: () => import('/@/views/home/index.vue')
        },
        {
          name: 'System',
          path: '/system',
          redirect: { name: 'User' },
          component: RouteView,
          children: [
            {
              name: 'User',
              path: 'user',
              component: () => import('/@/views/system/user/index.vue')
            },
            {
              name: 'Menu',
              path: 'menu',
              component: () => import('/@/views/system/menu/index.vue')
            }
          ]
        }
      ]
    },
    {
      path: '/login',
      component: () => import('/@/views/login/index.vue')
    }
  ]
});

pinia

用于全局状态管理 vuex的替代品,参考文档

pinia-plugin-persist

pinia的持久化插件 参考官方文档

api

vue-request、axios、pont、mock
处理接口请求 和 mock

vite-plugin-vue-setup-extend

优雅的写组件名字

<script lang="ts" setup name="demo">
	xxx
</script>

form-create

用于表单生成的 这里是官网地址

yarn add @form-create/ant-design-vue@next

配置短路径

vite.config.ts 添加如下代码

...
import { resolve } from 'path';

const pathResolve = (dir: string) => {
  return resolve(process.cwd(), ".", dir);
};

export default defineConfig({
  plugins: [vue()],
  // 以下部分
  resolve: {
    alias: [
      {
        find: /\/@\//,
        replacement: pathResolve("src") + "/",
      },
    ],
  },
});

另外ts可能无法识别path这个node全局内置的环境包:找不到模块“path”或其相应的类型声明

这个时候安装对应的类型包 ts就能识别了

yarn add --dev @types/node

因为本项目是ts项目 所以如上虽然可用 但是ts会编译报错 不识别短路径/@/。因此需求做ts适配。修改ts配置文件 tsconfig.json

{
  "compilerOptions": {
    ...
    "baseUrl": ".",
    "paths": {
      "/@/*": ["src/*"]
    }
  },
  ...
}

标签:vue,name,oh,admin,component,ts,import,path,诞生记
From: https://www.cnblogs.com/dingshaohua/p/17043931.html

相关文章

  • pycharm:无法加载文件 C:\Users\admin\PycharmProjects\pythonProject1\venv\Scr
    以前一直在vmware虚机上用pycharm,这次想在win10pc上试试 安装pycharm后,打开终端直接报错:无法加载文件C:\Users\admin\PycharmProjects\pythonProject1\venv\Scripts......
  • Docker基础知识 (23) - 使用 Docker 部署 Nginx + Php/Laravel + MariaDB 项目 (2) -
    本文在“Docker基础知识(12)-使用Docker部署Nginx+Php/Laravel+MariaDB项目”基础上,修改Nginx的配置文件和docker-compose.yml,配置phpMyAdmin目录密码保......
  • SimpleAdmin手摸手教学之:Redis缓存
    一、说明系统中有很多数据是不会经常修改的,但是读取的频率确很高,所以这时候就需要使用缓存将这些数据缓存起来。本系统采用Redis分布式缓存,将一些基本信息表缓存在内存中,......
  • SimpleAdmin手摸手教学之:请求代理
    一、前言在之前使用其他admin的时候,经常会有人再部署的时候会遇到这么一个问题:明明在生产环境中配置了后端的api地址,但是通过nginx部署之后,请求的确是本地的地址。这是因......
  • SimpleAdmin手摸手教学之:国密加密
    一、什么是国密加密二、国密实现本系统实现了国密SM2和SM4加解密,可以在SimpleAdmin.Core下的Utils->Cryptogram文件夹下找到。2.1SM2Sm2加解密需要配置公钥和私钥,在......
  • SimpleAdmin手摸手教学之:即时通讯
    一、前言作为前后端分离项目,前后端交互是一个非常重要的功能。目前主流框架都是通过Socket实现,本系统自然也是实现了基于Signalr的前后端交互,并在此基础上实现了基于MQTT......
  • fastadmin 表单提交前加验证或者确认弹框效果
    代码:set:function(){Form.api.bindevent($("form[role=form]"),function(){},function(){},function(success,error){layer......
  • SimpleAdmin手摸手教学之:操作日志
    一、说明日志模块作为一个管理系统应该有的模块之一,在系统中有着举足轻重的作用,可以记录用户的操作记录和者系统异常,出现问题可以快速定位错误。在之前的系统开发中,我一般......
  • SimpleAdmin手摸手教学之:权限设计
    一、说明本系统权限设计采用的是标准的RBAC模型,即基于角色的访问控制,通过用户关联角色,角色关联权限,来间接的为用户赋予权限。用户和角色都比较熟悉了,不再赘述,这里说一下......
  • requests、aiohttp、httpx请求对比
    1.请求1000速度排名模块速度requests不保持连接1324.95requests保持连接287.08httpx同步1350.26httpx[异步]一个AsyncClient12.53httpx[异步]......