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

  • 核定征收个体户个人经营所得税税率
  • 未交增值税借方表示什么意思
  • 增值税的计税依据是什么
  • 工程项目纳税
  • 需要登记的特殊药品
  • 做网站的费用会计分录
  • 个税系统如何增员
  • 保证金可以挪用吗
  • 向个人借款计入什么会计科目
  • 公司每月利润明细表
  • 购买的职业险计入哪个科目
  • 不动产评估需要明确的基本事项包括哪些内容
  • 个人所得税返还奖励财务人员做账
  • 个人房产税怎么计算
  • 企业收到稳岗补贴的账务处理
  • 销售额没有达到要求企业采取措施
  • 委托出口货物怎么办理退免税?
  • 购进货物运费会退吗
  • 购入苗木的会计分录
  • 采用支付手续费方式委托代销商品
  • 小规模纳税人专票开3%的专票,以后就不能享受1%
  • 开票人为什么不能改
  • 固定资产发票可以抵税吗
  • 融资租赁业务如何纳税
  • 已发货未开票的货物需要结转成本吗
  • 什么是租赁公司的主营业务
  • 年薪制职工薪酬计算方法
  • 财务费用冲销怎样做分录
  • 模具成本怎么核算
  • 视同销售情形有哪些?
  • php中strcmp
  • 其他应付款转营业外收入需要交增值税吗
  • 长期借款利息费用的资本化账务处理
  • php怎么上传图片
  • 远期外汇交易会有风险吗
  • 损益类账户年末一定无余额对吗
  • 增值税加计抵减怎么算
  • 九斑蛾,瑞士 (© Thomas Marent/Minden Pictures)
  • php两个等号和三个的区别
  • 利润分配的顺序依次是什么
  • 民办非企业开办资金入什么科目
  • 连锁店总部的组织架构
  • 法人章两个字的怎么印
  • rhel6安装教程
  • mysql 字符集
  • 金税卡报税流程
  • 清卡后还可以勾选发票吗
  • 专项附加可以叠加吗
  • 发票入账需要哪些附件的文件
  • 公对公转账货款是指往来款吗
  • 工程物资怎么入账成本
  • 主营业务收入可以进一般户吗
  • 固定资产全套账务处理2021
  • 增值税销项税率是多少
  • 员工借款未还财务有责任吗
  • 工程款的税费怎么计算
  • 收单清算款计入什么费用
  • 软件开发公司一般薪水多少
  • 收到知识产权服务费入什么科目
  • 一般纳税人提供劳务税率是多少
  • 增值税普通发票查询
  • 专用发票金额大实际报销金额小会计分录怎么做
  • 填写记账凭证内容摘要的三个要素
  • sqlserver2012安装失败原因
  • solaris查找文件命令
  • win10怎么设置pdf默认打开方式是wps
  • 苹果mac录制屏幕
  • win7系统开机蓝屏0x0000007b
  • babylon.exe进程有什么作用 babylon进程是什么文件
  • win8老是自动安装软件
  • 怎样修改linux用户名和密码
  • cocos2dx + android 如何添加百度插屏广告
  • android yield
  • django自定义模板标签
  • jqgrid api中文手册
  • python中的print语句
  • 安徽省电子发票开具流程
  • 北京市税务局 案件
  • 浙江电子税务局移动端
  • 不用税控盘可以清卡吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设