位置: IT常识 - 正文

手把手,完整的从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios(手把手的教)

编辑:rootadmin
项目同步git:https://gitee.com/lixin_ajax/vue3-vite-ts-pinia-vant-less.git 觉得有帮助的小伙伴请点下小心心哦 为避免赘述,过于基础的点会直接省略或贴图,比如创建文件夹/文件的路径/路由一类 配置相应功能,也尽量只贴相关代码,并不代表整个 ...

推荐整理分享手把手,完整的从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios(手把手的教),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:什么叫手把手,手把手后面一句,手把手是词语,手把手后面一句,手把手什么,手把手示范,手把手示范,手把手 意思,内容如对您有帮助,希望把文章链接给更多的朋友!

项目同步git:https://gitee.com/lixin_ajax/vue3-vite-ts-pinia-vant-less.git

觉得有帮助的小伙伴请点下小心心哦

为避免赘述,过于基础的点会直接省略或贴图,比如创建文件夹/文件的路径/路由一类

配置相应功能,也尽量只贴相关代码,并不代表整个文件内容

我会尽量把每一步都记录下来,让跟随文档操作的朋友也能还原项目

项目不尽完美,但是主体功能应该都可以有所参考

一.本地初始环境

二.使用vite脚手架,创建vue3+ts

yarn create vite

输入项目名,回车确认

选择Vue和TypeScript

文件目录如下,项目创建成功!

三.启动项目:根据提示进入项目运行项目,或自行使用编码器输入指令进行启动

yarn // 安装依赖yarn dev // 运行项目

浏览器打开地址,运行成功!

四.必备依赖

ThispackagecontainstypedefinitionsforNode.js(http://nodejs.org/)

yarn add @types/node -S -D手把手,完整的从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios(手把手的教)

五.配置路径别名@

1.位置:直接改写vite.config.ts--顺便就添加alias

// vite.config.tsimport vue from "@vitejs/plugin-vue";import { resolve } from "path";function pathResolve(dir: string) { return resolve(process.cwd(), ".", dir);}// https://vitejs.dev/config/export default () => { return { resolve: { alias: [ { find: "@", replacement: pathResolve("src"), }, { find: "views", replacement: pathResolve("src/views"), }, ], }, plugins: [vue()], };};

2.位置:tsconfig.json--修改baseUrl及paths

// tsconfig.json{ "compilerOptions": { ......  "baseUrl": "./", "paths": { "@/*": ["src/*"], "views/*": ["src/views/*"], "components/*": ["src/components/*"], "assets/*": ["src/assets/*"] } }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], "references": [{ "path": "./tsconfig.node.json" }]}

六.配置vue-router

yarn add vue-router -S

推荐一个很好的插件nprogress【进度条】

yarn add @types/nprogress nprogress -D

main.ts引入router

// main.tsimport { createApp } from 'vue'import './style.css'import App from './App.vue'import router from "./router";const app = createApp(App as any);app.use(router)app.mount('#app')

src下创建router文件夹,项目往往需要模块化,所以代码尽量不要杂糅在一起

/router/index.ts

/router/index.tsimport { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router";import NProgress from "nprogress";import "nprogress/nprogress.css";const modules: any = import.meta.glob("./modules/**/*.ts", { eager: true });const routes: Array<RouteRecordRaw> = [];for (const key in modules) { routes.push(...modules[key].default);}const router = createRouter({ history: createWebHashHistory(), // history 模式则使用 createWebHistory() routes,});router.beforeEach(async (_to, _from, next) => { NProgress.start(); next();});router.afterEach((_to) => { NProgress.done();});export default router;

/router/typings.d.ts 路由meta格式受控

/router/typing.d.tsimport "vue-router";declare module "vue-router" { interface RouteMeta { // options   title?: string; // every route must declare   show?: boolean; // }}

然后就是test下随便创建一个路由,对应的,views下创建相应的vue文件,App.vue给上router-view

test/index.ts

app.vue

test/index.vue

查看页面

页面正确显示,路由部署成功!

七.配置css预处理:less

yarn add less less-loader -D

为了配置全局的less样式文件,同时引入fs模块

yarn add fs -D

进入项目根目录的配置文件

位置:vite.config.ts -- css

// vite.config.tsimport vue from "@vitejs/plugin-vue";import { resolve } from "path";import fs from 'fs'function pathResolve(dir: string) { return resolve(process.cwd(), ".", dir);}// https://vitejs.dev/config/export default () => { const lessResources: Array<String> = [] fs.readdirSync('src/assets/styles').map((dirname) => { if (fs.statSync(`src/assets/styles/${dirname}`).isFile()) { lessResources.push(`@import "src/assets/styles/${dirname}";`) } }) return { ......,  // css css: { preprocessorOptions: { less: { charset: false, additionalData: lessResources.join(''), modifyVars: { 'primary-color': '#0080FF', 'link-color': '#0080FF', 'border-radius-base': '4px', }, javascriptEnabled: true, }, }, }, };};

这里配置的公共less文件路径为src/assets/styles,创建styles文件夹和index.less文件

进入index.less

本文链接地址:https://www.jiuchutong.com/zhishi/304609.html 转载请保留说明!

上一篇:python的魔法方法是什么(python魔法方法详解)

下一篇:python TKinter的消息传递机制(python tkinter详解)

  • 华为识图购物怎么关闭(华为识图购物怎么用)

    华为识图购物怎么关闭(华为识图购物怎么用)

  • 苹果13锁屏怎么打开手电筒(苹果13锁屏怎么显示农历日期)

    苹果13锁屏怎么打开手电筒(苹果13锁屏怎么显示农历日期)

  • 美版抖音怎么不能看(下了美版抖音打开什么都没有)

    美版抖音怎么不能看(下了美版抖音打开什么都没有)

  • 北京有5g网络覆盖了吗(北京5g网络覆盖地区地图)

    北京有5g网络覆盖了吗(北京5g网络覆盖地区地图)

  • vivoz3怎么截屏(vivoz3手机如何截屏)

    vivoz3怎么截屏(vivoz3手机如何截屏)

  • 电脑出现windows找不到文件c:/program.(电脑出现windows资源管理器已停止工作)

    电脑出现windows找不到文件c:/program.(电脑出现windows资源管理器已停止工作)

  • 美图秀秀怎么把视频和图片拼接到一起(美图秀秀怎么把一张图片放到另一张图片上)

    美图秀秀怎么把视频和图片拼接到一起(美图秀秀怎么把一张图片放到另一张图片上)

  • 路由器换地方还需要重新设置吗(路由器换地方还有网吗)

    路由器换地方还需要重新设置吗(路由器换地方还有网吗)

  • 变频器显示oh是什么意思(变频器显示oh怎么处理)

    变频器显示oh是什么意思(变频器显示oh怎么处理)

  • 微信签名为什么改不了(微信签名为什么只能写30个字)

    微信签名为什么改不了(微信签名为什么只能写30个字)

  • 华为手机有没有隐藏应用的功能(华为手机有没有空调遥控器的功能)

    华为手机有没有隐藏应用的功能(华为手机有没有空调遥控器的功能)

  • qq情侣空间访客删不掉(qq情侣空间访客记录是情侣都能看到吗)

    qq情侣空间访客删不掉(qq情侣空间访客记录是情侣都能看到吗)

  • excel2010默认工作簿名称(excel2010默认工作表有几个)

    excel2010默认工作簿名称(excel2010默认工作表有几个)

  • ipad air3支持pd快充吗(ipadair3可以用快充吗)

    ipad air3支持pd快充吗(ipadair3可以用快充吗)

  • b站怎么下载视频(b站怎么下载视频到u盘)

    b站怎么下载视频(b站怎么下载视频到u盘)

  • ps五种渐变类型(ps渐变有几种类型)

    ps五种渐变类型(ps渐变有几种类型)

  • 个人热点会传播病毒吗(个人热点有辐射吗)

    个人热点会传播病毒吗(个人热点有辐射吗)

  • 宋体可以商用吗(宋体可以商用吗?会不会侵权)

    宋体可以商用吗(宋体可以商用吗?会不会侵权)

  • mate30pro音量键怎么调(mate30pro音量键怎么打开)

    mate30pro音量键怎么调(mate30pro音量键怎么打开)

  • 华为手机mate30pro与p30pro区别在哪(华为手机mate30pro音量键在哪里)

    华为手机mate30pro与p30pro区别在哪(华为手机mate30pro音量键在哪里)

  • red米book14有摄像头吗(redmibook14锐龙版摄像头怎么开)

    red米book14有摄像头吗(redmibook14锐龙版摄像头怎么开)

  • 手机怎么看qq绑定的身份证(手机怎么看qq绑定了哪些软件)

    手机怎么看qq绑定的身份证(手机怎么看qq绑定了哪些软件)

  • 苹果微信怎么设置自定义提示音(苹果微信怎么设置面容解锁)

    苹果微信怎么设置自定义提示音(苹果微信怎么设置面容解锁)

  • 苹果xr有呼吸灯吗(苹果xr有呼吸灯功能吗)

    苹果xr有呼吸灯吗(苹果xr有呼吸灯功能吗)

  • bootmgr is missing怎么解决(bootmgr is missing怎么手动解决)

    bootmgr is missing怎么解决(bootmgr is missing怎么手动解决)

  • 登记会计账簿的内容包括
  • 电子元器件可以带上飞机吗
  • 服务,不动产和无形资产扣除项目本期实际扣除金额
  • 季度利润表格式
  • 债务重组的会计处理方法
  • 流动负债是总负债吗
  • 合并报表投资收益为什么要抵消
  • 一般纳税人税率2023
  • 委托出口退税账务处理
  • 给客户赔偿如何入账
  • 公司成立初期费用入账
  • 非盈利组织捐赠支出
  • 未付款的增值税怎么做账
  • 空调安装费税率是6%
  • 有没有薪酬
  • 本期准予扣除税额是什么
  • 重点税源财务指标有哪些
  • 纳税所得额怎么算个税
  • 丧失控股权的后果
  • 预付的货款的发票在哪里
  • 哪里有办各种真实有效的证的
  • PHP:oci_set_prefetch()的用法_Oracle函数
  • linux删除文本文件命令
  • PHP:apache_getenv()的用法_Apache函数
  • 生产性生物资产和消耗性生物资产有什么区别
  • 无形资产累计摊销借贷方向
  • php如何防止xss攻击
  • 工会经费如何在网上购物吗
  • 办公楼改造方案
  • php过滤字符
  • print函数php
  • ps命令显示进程状态
  • 应收账款期末余额在借方还是贷方
  • 个体工商户季报还是月报
  • 出口报关需要增税吗
  • 营业外收支的账户是什么
  • 免税农产品怎么抵扣进项税
  • 门店有营业执照仓库加工要办营业执照
  • 前置测试模型
  • 【MongoDB for Java】Java操作MongoDB数据库
  • 在建工程过程中取得收入怎么入账
  • 缴纳社保费出现异常
  • 公司固定资产抵押贷款无法偿还
  • 一般纳税人的商业保险可以开票吗
  • 第二季度所得税表中研发费用
  • 个人承担的个税是公司的成本费用吗
  • 固定资产特点有
  • 财务风险有什么类别
  • 机票的退票费可以开具发票吗
  • 小规模纳税人取得普通发票怎么做账
  • 无偿捐赠产品会计分录
  • 递延收益是什么负债
  • 冲销管理费用怎么写凭证
  • 出口报关金额怎么算
  • 年中重新建账还要年初数吗?
  • mysql5.7解压版安装步骤
  • sql server m1
  • 隐藏在大山深处的罪恶
  • mysql 启动报错
  • mysql 大数据处理
  • windowsxp怎么用
  • 如何关闭windows防火墙
  • smagent.exe - smagent是什么进程
  • windows画图程序名
  • SIMETER.EXE - SIMETER是什么进程 有什么用
  • win7定时静音
  • 什么是血糖
  • opengl es3.0metal
  • 适者生存作文800字议论文
  • 经纬科技it6000
  • unity3d官方案例
  • angular页面加载完后执行方法
  • 每天自动重启命令
  • python 异常捕获
  • unity每秒执行一次
  • 使用jsonp跨域,服务端如何改
  • jQuery使用contains过滤器实现精确匹配方法详解
  • 浦东税务15所
  • 工会经费怎么缴付
  • 过了征期更正申报进项税可以多认证嘛
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设