位置: 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详解)

  • OPPOA93找不到息屏样式怎么办(oppo信息找不到了)

    OPPOA93找不到息屏样式怎么办(oppo信息找不到了)

  • 苹果手机如何添加门禁卡NFC(苹果手机如何添加输入法)

    苹果手机如何添加门禁卡NFC(苹果手机如何添加输入法)

  • 华为mate40pro尺寸是多少(华为p40pro尺寸)

    华为mate40pro尺寸是多少(华为p40pro尺寸)

  • 打电话响十声通话结束

    打电话响十声通话结束

  • 断了的pe线怎么连接(断了的pe线怎么焊接)

    断了的pe线怎么连接(断了的pe线怎么焊接)

  • 闲鱼曝光1万多算高吗(闲鱼曝光几万)

    闲鱼曝光1万多算高吗(闲鱼曝光几万)

  • 京东店铺的三种类型(京东的店铺类型有哪些?)

    京东店铺的三种类型(京东的店铺类型有哪些?)

  • 双频千兆路由器什么意思(移动双频千兆路由器)

    双频千兆路由器什么意思(移动双频千兆路由器)

  • 耳机不分左右声道怎么办(耳机不分左右声道全响)

    耳机不分左右声道怎么办(耳机不分左右声道全响)

  • 华为手机jkm一aloob是什么型号(华为手机JKM一AL00b换屏幕总成操做方法)

    华为手机jkm一aloob是什么型号(华为手机JKM一AL00b换屏幕总成操做方法)

  • 快手评论别人为什么只有自己看得到(快手评论别人为啥出现别人的网名)

    快手评论别人为什么只有自己看得到(快手评论别人为啥出现别人的网名)

  • 计算机病毒实际上是什么(计算机病毒实际上是一段特殊的)

    计算机病毒实际上是什么(计算机病毒实际上是一段特殊的)

  • mac地址存储在哪(mac地址表里有什么)

    mac地址存储在哪(mac地址表里有什么)

  • 显示非朋友是删了吗(显示非朋友是删了吗还能发出信息)

    显示非朋友是删了吗(显示非朋友是删了吗还能发出信息)

  • ps怎么清除画笔(ps清除画笔控制怎么恢复)

    ps怎么清除画笔(ps清除画笔控制怎么恢复)

  • 淘宝发不出信息给卖家(淘宝发不出信息说可能存在怎么回事)

    淘宝发不出信息给卖家(淘宝发不出信息说可能存在怎么回事)

  • 抖音唱歌怎么设置(抖音唱歌怎么设置歌词字幕)

    抖音唱歌怎么设置(抖音唱歌怎么设置歌词字幕)

  • 苹果鼠标pin码是什么(苹果鼠标pin码忘记的解决方法)

    苹果鼠标pin码是什么(苹果鼠标pin码忘记的解决方法)

  • 小米手机usb调试在哪(小米手机usb调试安全模式)

    小米手机usb调试在哪(小米手机usb调试安全模式)

  • 淘宝店铺皇冠代表什么(淘宝店铺皇冠代码怎么弄)

    淘宝店铺皇冠代表什么(淘宝店铺皇冠代码怎么弄)

  • 流量限速后能玩微信吗(流量限速后能玩游戏吗)

    流量限速后能玩微信吗(流量限速后能玩游戏吗)

  • 拍立得mini25使用教程(拍立得mini25四个模式怎么用)

    拍立得mini25使用教程(拍立得mini25四个模式怎么用)

  • 苹果7如何截屏(苹果7如何截屏截长图)

    苹果7如何截屏(苹果7如何截屏截长图)

  • lmgrd.exe是什么进程 有什么用 lmgrd进程查询(imgrd.exe是什么)

    lmgrd.exe是什么进程 有什么用 lmgrd进程查询(imgrd.exe是什么)

  • 房产公司企业所得税如何预征
  • 足浴按摩开票明细一栏写什么
  • 增值税不视同销售行为有哪些
  • 实收资本增加的原因
  • 兼职工资直接入公司账户
  • 建筑业未开票收入情况说明
  • 发票没认证可以作废吗?
  • 一个季度申报一次是什么
  • 代开专用发票的数量单价单位怎么写?
  • 2021装修法律
  • 跨行转账16万手续费多少
  • 再生资源税率多少合理
  • 某大宾馆因工作需要
  • 季初从业人数和季末从业人数怎么填
  • 报税没有印花税怎么处理
  • 费用报销单如何粘贴票据
  • 企业在外地的房产怎么办
  • 政府奖励金额是否要交二次税呢
  • 收到财产保险赔款会计分录
  • 企业打给个人的费用如何节省个税
  • 企业注销固定资产处理
  • 注册资本金认缴制
  • 高价转让股份
  • 取得劳务费的账务处理
  • 苹果电脑mac设备在哪里
  • 公司设备租赁给客户怎么做科目
  • 办公费定义
  • 怎么检查电脑硬件是否正常
  • 新成立的公司要年报吗?
  • 计提短期借款利息资产增加还是减少
  • 累计盈余科目怎么填
  • 商业企业收到增值税
  • 2021前端热门技术解读
  • 一个简单的小实验
  • 补缴以前年度公积金账务处理
  • 政府代建项目税收政策
  • 付报刊费计入什么科目
  • 投资收益主要来源于
  • 小规模纳税人一年不超过多少万
  • 11个点的是什么星座
  • 数量金额式账页图片
  • 上个月开的发票这个月作废怎么做帐
  • 发票章与开票方名称不一致是什么情况
  • sqlserver降级备份
  • 运输公司内账会计每天需要做什么
  • 发票抬头开个人可以吗?
  • 交付使用资产是固定资产吗
  • 出售抵债资产账务处理
  • 化妆品消费税纳税标准
  • 交增值税会计凭证怎么做
  • 一般纳税人的服务费税率是多少
  • 外聘老师的费用如何做账
  • 调整账户有哪几类
  • 增值税免税入账
  • 网吧是个人独资企业还是个体工商户
  • 如何判断企业实际控制人
  • mysql 免安装版
  • sql语句训练题及答案
  • win2003安装加载阵列卡驱动
  • 标准sql如何计算时间戳的差
  • 华硕主板如何刷系统
  • 桌面上的图标不能更改对还是错
  • win10手机预览版
  • 通过防火墙可以保证窃听到的信息毫无价值
  • win7关机没反应怎么办
  • jquery动态设置css
  • linux rpm解压
  • 常用dos命令详解
  • javascript怎么设置字体大小
  • angular创建service
  • js设置图片边框
  • 关于怀孕在线咨询
  • jquery动态改变样式
  • 全国税务查询
  • 每月个人所得税申报截止时间是几号
  • 如何查询纳税信用等级证明
  • 坚持问题导向的前提是
  • 安徽省电子税务局怎么添加办税人员
  • 浙江省电子税务局电话
  • 如何落实保密制度规定措施
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设