当前位置: 首页 > news >正文

网站文案框架网络推广策划书

网站文案框架,网络推广策划书,网站建设招代理,藁城手机网站建设手把手教你用 Vue3 TypeScript Vite 搭建后台管理系统(超详细|零基础可上手) 还在用 Vue2 Webpack 搭项目?是时候换上 Vue3 TypeScript Vite 组合了! 本文带你从 0 到 1,一步步搭建一个结构清晰、可扩…

手把手教你用 Vue3 + TypeScript + Vite 搭建后台管理系统(超详细|零基础可上手)

还在用 Vue2 + Webpack 搭项目?是时候换上 Vue3 + TypeScript + Vite 组合了!
本文带你从 0 到 1,一步步搭建一个结构清晰、可扩展的后台管理系统,适合学习、接私活、写简历项目!

✅ 支持 TS|路由权限|Pinia 状态管理|Element Plus|Axios 封装|项目结构规范


🚀 第一步:创建项目

使用 Vite 快速初始化(速度快到飞起):

npm create vite@latest my-admin -- --template vue-ts
  • vue-ts:Vue + TypeScript 模板
  • Vite 热更新秒开,告别 Webpack 等待

进入项目:

cd my-admin
npm install

启动开发服务器:

npm run dev

浏览器打开 http://localhost:5173,看到欢迎页就成功了!


📦 第二步:安装核心依赖

# 状态管理
npm install pinia# HTTP 请求
npm install axios# UI 组件库(推荐)
npm install element-plus @element-plus/icons-vue# 开发依赖
npm install -D sass

🎨 第三步:引入 Element Plus

// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import { createPinia } from 'pinia'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'const app = createApp(App)
app.use(createPinia())
app.use(router)
app.use(ElementPlus)
app.mount('#app')

🧭 第四步:配置路由(vue-router)

import { createRouter, createWebHistory } from 'vue-router'const routes = [{ path: '/login', component: () => import('@/views/Login.vue') },{path: '/admin',component: () => import('@/layout/Layout.vue'),children: [{ path: 'dashboard', component: () => import('@/views/Dashboard.vue') },{ path: 'user', component: () => import('@/views/User.vue') }]}
]const router = createRouter({history: createWebHistory(),routes
})export default router

💾 第五步:状态管理(Pinia)

import { defineStore } from 'pinia'export const useUserStore = defineStore('user', {state: () => ({token: '',userInfo: {}}),actions: {setToken(token: string) {this.token = token},setUserInfo(info: any) {this.userInfo = info},logout() {this.token = ''this.userInfo = {}localStorage.removeItem('token')}},persist: true // 如需持久化,安装 pinia-plugin-persistedstate
})

组件中使用:

import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
userStore.setToken('abc123')

📁 推荐项目结构

src/
├── assets/           # 静态资源(图片、字体)
├── components/       # 公共组件(Table、Modal)
├── layout/           # 布局组件(侧边栏、头部)
├── views/            # 页面文件
├── router/           # 路由配置
├── stores/           # Pinia 状态管理
├── utils/            # 工具函数(request、auth)
├── api/              # 接口封装
├── styles/           # 全局样式(scss)
└── types/            # TypeScript 类型定义

🔐 第六步:封装 Axios(带拦截器)

创建 src/utils/request.ts:

import axios from 'axios'const request = axios.create({baseURL: import.meta.env.VITE_API_BASE || '/api',timeout: 10000
})// 请求拦截器(添加 token)
request.interceptors.request.use(config => {const token = localStorage.getItem('token')if (token) {config.headers.Authorization = `Bearer ${token}`}return config
})// 响应拦截器
request.interceptors.response.use(response => response.data,error => {if (error.response?.status === 401) {// 未登录,跳转登录页localStorage.removeItem('token')window.location.href = '/login'}return Promise.reject(error)}
)export default request

使用方式:

// src/api/user.ts
import request from '@/utils/request'export const getUserList = () => request.get('/user/list')

🎉 第七步:运行 & 打包

开发环境:

npm run dev

打包生产:

npm run build

生成 dist/ 文件夹,可部署到 Nginx、Vercel、阿里云等平台。


✅ 最终效果

你已经拥有一个:

✅ 类型安全的 TypeScript 项目
✅ 快速启动的 Vite 构建
✅ 模块化的路由与状态管理
✅ 可复用的请求封装
✅ 规范的项目结构


🔮 后续扩展建议
✅ 添加权限路由(根据角色显示菜单)
✅ 集成 Markdown 编辑器
✅ 多语言(i18n)
✅ 暗黑模式
✅ 自动代码生成工具


💡 总结

这套技术栈是 2024 年前端开发的主流选择,无论是个人项目、团队协作还是面试展示,都非常加分!

http://www.dtcms.com/a/427211.html

相关文章:

  • 基于Chrome140的FB账号自动化——运行脚本(三)
  • 广州做网站设计镇江建筑公司排名最新
  • RHCA - CL260 | Day12:集群性能建议
  • CNN基础学习(自用)
  • Spring Boot 集成 Kafka 详解
  • MQTT数据集成
  • 网站的会员系统怎么做电商小程序价格
  • Redis 进阶:跳出缓存局限!7 大核心场景的原理与工程化实践
  • 数据结构——LinkedList和链表
  • 一学一做专题网站哈尔滨黑大主题邮局
  • 基于类的四种设计模式
  • 用ChatGPT修改论文,如何在提升质量的同时降低AI检测风险?
  • 实验指导-基于阿里云Serverless应用引l擎SAE的服务部署迀移
  • 黔西县住房和城乡建设局网站个人网页制作方法
  • 长沙网站推广系统动态wordpress动态主题
  • 基于Matlab实现路径规划
  • 给定数据规模的ACM风格笔试题-子矩阵的最大累加和问题
  • 一站式服务图片wordpress博客整站源码
  • 明星粉丝网站怎么做建设银行手机银行官方网站下载安装
  • Spring boot中 限制 Mybatis SQL日志的大字段输出
  • SQL Server数据库事务日志问题的诊断与解法(从膨胀到瘦身)
  • Postgresql CLOG文件及其从库同步解析
  • wordpress 授权一个空间两个网站对seo
  • 正规的招聘网站永州市网站建设
  • 加强教育信息网站建设昆山建设工程安监站网站
  • EndoChat:面向内镜手术的基于事实依据的多模态大型语言模型|文献速递-文献分享
  • 零基础学AI大模型之ChatModel聊天模型与ChatPromptTemplate实战
  • 产生式规则对自然语言处理深层语义分析的影响与启示研究
  • web渗透之Python反序列化漏洞
  • 做办公用品网站工作计划黄页网站是什么