位置: 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主副卡怎么切换打电话)

  • 支付宝基金昨日收益率怎么看(支付宝基金昨日收益什么时候更新)

    支付宝基金昨日收益率怎么看(支付宝基金昨日收益什么时候更新)

  • 酷狗的vip可以2人一起用吗(酷狗的vip可以换到另外的账号上吗)

    酷狗的vip可以2人一起用吗(酷狗的vip可以换到另外的账号上吗)

  • a360drive是什么(drive30i是什么意思)

    a360drive是什么(drive30i是什么意思)

  • 苹果屏幕的小圆按钮在哪里设置出来(苹果屏幕的小圆圈)

    苹果屏幕的小圆按钮在哪里设置出来(苹果屏幕的小圆圈)

  • 苹果两个卡槽有区别吗(苹果两个卡槽有一个没信号)

    苹果两个卡槽有区别吗(苹果两个卡槽有一个没信号)

  • 苹果x为什么更新不了软件(苹果x为什么更新不了系统)

    苹果x为什么更新不了软件(苹果x为什么更新不了系统)

  • pcpmoo是什么手机型号(pcamoo是什么手机价格)

    pcpmoo是什么手机型号(pcamoo是什么手机价格)

  • 苹果键盘怎么滑动打字(苹果键盘怎么滑动)

    苹果键盘怎么滑动打字(苹果键盘怎么滑动)

  • oppo账号被别人实名认证了(oppo账号被别人登录了,会看到我手机里的应用么)

    oppo账号被别人实名认证了(oppo账号被别人登录了,会看到我手机里的应用么)

  • 荣耀9a是什么时候上市的(荣耀9a是什么时候发布的)

    荣耀9a是什么时候上市的(荣耀9a是什么时候发布的)

  • 任天堂充电没反应(任天堂充电为什么开不了机了)

    任天堂充电没反应(任天堂充电为什么开不了机了)

  • 小米街拍模式有声音(小米街拍模式有什么用)

    小米街拍模式有声音(小米街拍模式有什么用)

  • 闲鱼提醒对方收货是什么方式(闲鱼提醒对方收货只能发一次吗)

    闲鱼提醒对方收货是什么方式(闲鱼提醒对方收货只能发一次吗)

  • 充电宝显示in什么意思(充电宝充电in闪烁是什么意思)

    充电宝显示in什么意思(充电宝充电in闪烁是什么意思)

  • 网线口是圆的怎么插(网线接口圆口)

    网线口是圆的怎么插(网线接口圆口)

  • ipadmini4有16g的吗(ipadmini4有16g版本吗)

    ipadmini4有16g的吗(ipadmini4有16g版本吗)

  • 导航卡与内存卡的区别(导航卡是不是内存卡?)

    导航卡与内存卡的区别(导航卡是不是内存卡?)

  • eclipse如何部署war(eclipse如何部署tomcat服务器)

    eclipse如何部署war(eclipse如何部署tomcat服务器)

  • 两台手机怎么互传文件(两台手机怎么互相投屏)

    两台手机怎么互传文件(两台手机怎么互相投屏)

  • 3a5a数据线的区别(数据线3a和5a是什么意思)

    3a5a数据线的区别(数据线3a和5a是什么意思)

  • 闲聊的收款二维码在哪里(闲聊app里的钱还能取出来吗)

    闲聊的收款二维码在哪里(闲聊app里的钱还能取出来吗)

  • 抖音拉黑后怎么删除(抖音拉黑后怎么再拉出来)

    抖音拉黑后怎么删除(抖音拉黑后怎么再拉出来)

  • 设了免打扰对方知道吗(对方设置了免打扰还能看见我给她打电话么)

    设了免打扰对方知道吗(对方设置了免打扰还能看见我给她打电话么)

  • 抖音如何看别人的位置(抖音如何看别人的直播回放)

    抖音如何看别人的位置(抖音如何看别人的直播回放)

  • 爱奇艺为什么话费付款25元/月(我已经打开爱奇艺了为什么)

    爱奇艺为什么话费付款25元/月(我已经打开爱奇艺了为什么)

  • 如何把表格放大(如何把表格放大到自己想要格式)

    如何把表格放大(如何把表格放大到自己想要格式)

  • 一篇canvas带你画出整个特效世界(canvas画线条)

    一篇canvas带你画出整个特效世界(canvas画线条)

  • 2021电赛F题视觉教程+代码免费开源(电赛2021题目)

    2021电赛F题视觉教程+代码免费开源(电赛2021题目)

  • Hive官方手册翻译(Getting Started)  实践检验真理  51CTO技术博客(hive.)

    Hive官方手册翻译(Getting Started) 实践检验真理 51CTO技术博客(hive.)

  • 海关完税价格计算公式
  • 增值税电子专用发票需要盖章吗
  • 增值税专票税率1%
  • 消费税到底是什么
  • 利润分配未分配利润和未分配利润的区别
  • 应收账款计入借方贷方
  • 企业上缴税费总额怎么算
  • 会计科目已受控于应收应付系统
  • 汽车保险专用发票怎么做账
  • 未支付的货款属于什么会计科目
  • 发放独生子女津贴的条件
  • 农业企业土地租赁费账务处理
  • 营改增 贷款服务
  • 建筑行业一般纳税人简易征收的范围
  • 初级会计职称考试时间
  • 增值税记账流程
  • 什么是季初值和季末值
  • 白酒五行属火还是水
  • key介质费入哪个科目?
  • 金蝶结转损益后怎么进下一期
  • 加计抵减是什么时候开始的
  • 专用发票购货清单怎么写
  • 失控发票如何转出
  • 货款打多了退款怎么做账
  • 开增值税发票折扣额怎么开出来的?
  • 房地产开发资质查询
  • 怎么认定是否为包工头
  • 在建工程包括哪些明细
  • 购货方获得现金折扣的会计分录怎么写
  • dghm.exe是什么程序
  • Sublime Text v4.0(4143)破解方法
  • 利息费用扣除限额债资比
  • 安博塞利国家公园简介
  • 前端打包后生成文件
  • 财务会计制度备案信息有效期起止怎么填
  • yolo行人检测
  • php开发文档
  • 优先股票与普通股票相比,其优先权主要指
  • vue3官方教程
  • js中reduce用法
  • web前端修炼之道
  • 个税在工资里怎么计提
  • 取得增值税
  • 开发日志模板
  • 购办公桌椅入什么费用
  • 企业净利率多少算高
  • 申请财产损失会计分录
  • 研发费用的核算方法
  • 业务招待费占管理费用的多少算合适
  • 产品生产完工入库
  • 上年未计提所得税,本年怎么做分录
  • 购买农产品进行销售要交税吗
  • 行政事业单位负责人应当对本单位内部控制
  • 小规模纳税人如何计算增值税
  • 对方发票丢失怎么申报丢失
  • 防止服务器断电
  • win8系统怎么查看隐藏文件
  • 强化廉洁意识 筑牢思想防线
  • mac电脑技巧
  • 怎样一键重装
  • 使用u盘安装macos
  • win10周年更新版是什么意思
  • macbookpro查看硬盘
  • Radio.exe - Radio是什么进程 有什么用
  • win10 右下角
  • win8怎么没有无线网图标不见了
  • cocos creator3
  • 上传图片 js
  • time(0)函数
  • 笔记本电脑没有鼠标怎么多选文件
  • jQuery扩展实现text提示还能输入多少字节的方法
  • Linux CentOS系统下安装node.js与express的方法
  • php删除代码
  • javascript+
  • 安卓压缩图片
  • javascript字符
  • android怎么学
  • 个税更正申报如何导出大厅申报表
  • 如何退契税网上申请
  • 福建高速公路电子发票怎么开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设