创建基础项目

基于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/*"]
}
},
...
}

oh-admin诞生记的更多相关文章

  1. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生. 智能语音交互市场近年来发展迅速,其典型的应用之一智能音箱产品如今已走入千家万户,深受大家 ...

  2. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生. 串口调试助手是嵌入式开发里非常常用的小工具,市面上有非常多流行的串口调试工具,比如TeraTe ...

  3. chain33 区块链开发框架诞生记

    chain33 诞生记 很多年没有写博客了,应该说,自从2013年开始玩比特币,就没有写过了.这5年来,做了很多事情,也见了很多以前做梦都没有想到过都事情.我做的最开心的事情,也是觉得最有意义的事情, ...

  4. 谷歌Gmail诞生记:十年回首

    美国<时代>周刊网络版今天刊登题为<Gmail诞生记:10年前鲜为人知的故事>(How Gmail Happened: The Inside Story of Its Laun ...

  5. Linux LiveCD 诞生记

    Linux LiveCD 诞生记 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...

  6. (转载)JavaScript世界万物诞生记

    一. 无中生有 起初,什么都没有.造物主说:没有东西本身也是一种东西啊,于是就有了null: 现在我们要造点儿东西出来.但是没有原料怎么办?有一个声音说:不是有null嘛?另一个声音说:可是null代 ...

  7. 痞子衡嵌入式:语音处理工具pzh-speech诞生记(2)- 界面构建(wxFormBuilder3.8.0)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之界面构建. 之前痞子衡设计过一个串口调试助手pzh-py-com,也专门写过一篇关于其界面构 ...

  8. [转载]jQuery诞生记-原理与机制

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3520 一.看似偶然的 ...

  9. 【Android测试】【随笔】性能采集工具——小松鼠诞生记

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4945066.html 起因 去年刚加入TX的时候,我便接手 ...

  10. jQuery诞生记-原理与机制

    一.看似偶然的东西实际是必然会发生的 我大学时候在图书馆翻过一本很破旧的书,讲生物理论的,主要内容就是探讨生命的产生是偶然还是必然.里面很多亚里士多德都看不懂的公式计算什么的,还有模拟原始地球环境出现 ...

随机推荐

  1. shell子字符串截取

    http://c.biancheng.net/view/1120.html Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取. 从指定位置开始截取 这种方式需要 ...

  2. Javascript+webdriverio实现app自动化demo

    1.新建工程和安装库 使用WebStorm新建一个空项目然后在编辑器打开终端输入如下命令: npm init -y npm install webdriverio npm install sleep ...

  3. ReadWriteLock:读写锁

    一. /* * 1. ReadWriteLock : 读写锁 * * 写写/读写 需要"互斥" * 读读 不需要互斥 * */ public class TestReadWrite ...

  4. VScode设置用户代码片段快捷方式

    一.创建步骤 a. b. 二.创建模板 { "生成vue模板": { "prefix": "vue", "body": ...

  5. Junit单元测试的maven设置

    maven 官方文档: https://maven.apache.org/surefire/maven-surefire-plugin/usage.html maven是通过插件 maven-sure ...

  6. [转自洛谷]洛谷KateX公式大全【LateX】

    前言 由于在洛谷,有很多人对于\(\KaTeX\)和\(\LaTeX\)之间的关系并不清楚,导致很多人去搜\(\LaTeX\)的资料,然后发现有许多指令无法在洛谷运行. 但是事实上,\(\KaTeX\ ...

  7. Vue模板语法——文本插值、指令、缩写

    Vue模板语法--文本插值.指令.缩写 插值 文本({{}}.v-text) 数据绑定最常见的形式就是使用"Mustache"语法 (双大括号) 的文本,双大括号会将数据解释为普通 ...

  8. Python3_模块(一)

    脚本是用 python解释器来编程,如果从 Python解释器退出再进入,那么你定义的所有的方法和变量就都消失了.为此 Python提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器 ...

  9. 2025年Android面试题含答案

    今年过完年,毫无悬念,成了失业人员之一,于是各种准备面试.前后将近一个月时间,面试10几家公司,基本上80%的企业都拿到了offer.这里面基本上大部分都是小企业居多,少部分中厂,两三家大厂.我并没有 ...

  10. C#交换方法指针

    被引用的dll是testDllFr.dll,其代码为: namespace testDLLFr { public class TestA { public static void TestAM() { ...