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

  • QQ浏览器文件怎么把图片导入(qq浏览器文件怎么查找关键字)

    QQ浏览器文件怎么把图片导入(qq浏览器文件怎么查找关键字)

  • vivo记账功能在哪里(vivo手机记账功能在哪儿)

    vivo记账功能在哪里(vivo手机记账功能在哪儿)

  • 华为手机微信语音聊天的小窗口怎么关闭(华为手机微信语音声音小怎么调)

    华为手机微信语音聊天的小窗口怎么关闭(华为手机微信语音声音小怎么调)

  • vivo1932a是什么型号(vivo1938a是什么型号)

    vivo1932a是什么型号(vivo1938a是什么型号)

  • OPPO手机怎样设置手机自动断电(oppo手机怎样设置下面三个按键)

    OPPO手机怎样设置手机自动断电(oppo手机怎样设置下面三个按键)

  • 小米手机闹钟怎么关闭(小米手机闹钟怎么设置星期几)

    小米手机闹钟怎么关闭(小米手机闹钟怎么设置星期几)

  • 互联网tob是什么意思(互联网tob有哪些热门的行业)

    互联网tob是什么意思(互联网tob有哪些热门的行业)

  • 闲鱼提现失败退回什么意思(闲鱼无法提现到支付宝)

    闲鱼提现失败退回什么意思(闲鱼无法提现到支付宝)

  • 怎么在手机上去图片水印(怎么在手机上去除马赛克看原图)

    怎么在手机上去图片水印(怎么在手机上去除马赛克看原图)

  • 磁盘格式化的目的(磁盘格式化的含义)

    磁盘格式化的目的(磁盘格式化的含义)

  • 发出去的抖音怎么重新编辑(发出去的抖音怎么改封面)

    发出去的抖音怎么重新编辑(发出去的抖音怎么改封面)

  • 文字处理程序是什么软件(文字处理程序是指什么)

    文字处理程序是什么软件(文字处理程序是指什么)

  • 手机卡注销退话费吗(注销手机卡退话费嘛)

    手机卡注销退话费吗(注销手机卡退话费嘛)

  • 鼠标解锁按哪个键(鼠标解锁快捷键)

    鼠标解锁按哪个键(鼠标解锁快捷键)

  • iphonex和iphone11pro屏幕大小一样吗(iphonex和iphone11pro哪个好)

    iphonex和iphone11pro屏幕大小一样吗(iphonex和iphone11pro哪个好)

  • 苹果云盘里的照片怎么看(苹果云盘里的照片怎么删除)

    苹果云盘里的照片怎么看(苹果云盘里的照片怎么删除)

  • iphone11pro有指纹解锁吗(iphone11pro指纹识别)

    iphone11pro有指纹解锁吗(iphone11pro指纹识别)

  • 微软常用运行库合集有什么用(微软常用运行库是干嘛的)

    微软常用运行库合集有什么用(微软常用运行库是干嘛的)

  • 腾讯视频绑定的手机号忘了怎么办(腾讯视频绑定的qq怎么解绑)

    腾讯视频绑定的手机号忘了怎么办(腾讯视频绑定的qq怎么解绑)

  • 5g时代需要换电脑吗(5g要换吗)

    5g时代需要换电脑吗(5g要换吗)

  • 安卓系统短信拦截在哪(安卓系统短信拦截)

    安卓系统短信拦截在哪(安卓系统短信拦截)

  • iphonexr听筒有杂音滋滋(xr听筒有杂音)

    iphonexr听筒有杂音滋滋(xr听筒有杂音)

  • 【AI绘图】来体验了下AI绘图(ai绘图素材)

    【AI绘图】来体验了下AI绘图(ai绘图素材)

  • 加计扣除10%进项税会计分录 申报表
  • 开票软件金税盘
  • 一般纳税人的税点
  • 耕地占用税退税政策
  • 企业建厂房购进材料可以抵扣吗
  • 核定征收可以不开免税普票吗
  • 开普票的销项税额
  • 12月工资1月发个税怎么算
  • 消费卡预付卡能入账吗
  • 政府返还的增值税怎么算
  • 公司股份无偿转让怎么办理流程
  • 公司债权转让如何处理
  • 支付税点怎么做账
  • 企业给员工购买的团体意外险的被保险人一般是
  • 建筑行业劳务费开发票可以开工程款吗?
  • 免抵税额为什么不能抵下期
  • 公司收境外汇款
  • 商品流通企业代表企业
  • 产品成本差异总额计算公式
  • 营业成本主要包括
  • 应收款的周转天数
  • 一般纳税人所有税率
  • 新开的公司会计需要做什么
  • 差旅费中的车票可以抵扣进项税吗
  • 给员工租房会承担什么责任
  • 纳税人识别号和税号一样吗
  • 最新专业版win10
  • 公司的车险
  • 白兰花的养殖方法和注意事项和病虫害
  • Vue3 入门笔记 ---- 利用Element Plus对页面进行布局划分以及实现左侧公共菜单
  • PHP:pcntl_signal_dispatch()的用法_PCNTL函数
  • 不良资产核销的条件 追偿180天
  • 防伪税控风险纳税人
  • 解决安装后软件icon一圈白边问题
  • php的什么函数可以判断变量是否存在
  • php返回数据给ajax
  • 销售赔偿款增值税和所得税
  • 金银首饰以旧换新增值税处理
  • vue权限控制设计
  • vue中的路由参数如何获取
  • 股东投资的钱要还给他吗
  • 关于酒店采购
  • 2020信息采集
  • 未实现汇兑损益如何计算
  • 天猫如何不走对公账户
  • 帝国cms8.0
  • php的do while语句
  • 织梦怎么改网站主页
  • 公司成立开的户叫什么
  • 增值税一般纳税人登记管理办法
  • 同花顺电脑版怎么看财务报表
  • 个体工商户核算方式填什么
  • 个税手续费发给财务人员 文件
  • 一般纳税人购入固定资产进项抵扣
  • 公司购买理财产品收益会计分录
  • 折旧方法计算公式
  • 保证金计算器
  • 设备升级是什么意思
  • 购置固定资产进项税处理的变迁
  • 货拉拉平台运费没有结打不通电话怎么办
  • 认缴投资额什么意思
  • vmware虚拟机步骤
  • solaris8下载
  • 查找返回一行数据
  • win10打开iis管理器命令
  • js里的this
  • 关于减肥的好方法
  • 安卓沉浸式状态栏框架
  • 一个简单的灵魂
  • perl里怎么对数组实现一次遍历
  • perl随机数
  • 结合mint-ui移动端下拉加载实践方法总结
  • js对象用法
  • 面向对象的编程语言更适合大规模编程
  • js代码测试工具
  • 完美实现碳排放自主抵消的工厂叫什么
  • 河南居民医保网上缴费查询
  • 开量贩ktv一年能赚多少
  • 烟台税务查询系统网址
  • 回迁房需要交契税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设