当前位置: 首页 > news >正文

vite5+vue3开发阅读APP实战笔记20240725

目前界面长成这样:
在这里插入图片描述

配置别名

修改vite.config.js

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"// https://vitejs.dev/config/
export default defineConfig({server: {open: true,port: 8088,},plugins: [vue()],resolve: {alias: {"@": path.resolve(__dirname, "src"),}}
})

这里配置别名的核心代码是:

"@": path.resolve(__dirname, "src"),

配置首页

创建 src/page/home/index.vue

<script setup></script><template>
home
</template><style scoped></style>

修改src/router/index.js,这里主要是配置首页的路由:

import { createWebHashHistory, createRouter } from 'vue-router'const routes = [{path: "/",name: "Home",component: () => import("@/page/home/index.vue")}
]const router = createRouter({history: createWebHashHistory(),routes,
})export default router

修改 src/main.js

import { createApp } from 'vue'
import router from './router'import App from './App.vue'const app = createApp(App)app.use(router)app.mount('#app')

修改src/App.vue

<script setup>
</script><template><RouterView/>
</template>

此时界面的预览效果如下:
在这里插入图片描述

引入外部资源

将提前准备好的资源放入assets目录:
在这里插入图片描述

修改src/main.js,引入静态资源:

import { createApp } from 'vue'
import router from './router'
import App from './App.vue'import "@/assets/css/common.css"
import "@/assets/font/iconfont.css"const app = createApp(App)app.use(router)app.mount('#app')

引入vant

参考文档:https://vant-ui.github.io/vant/#/zh-CN/quickstart

安装:

pnpm i vant

在这里插入图片描述

安装按需引入依赖:

pnpm add @vant/auto-import-resolver unplugin-vue-components unplugin-auto-import -D

修改 vite.config.js

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import {VantResolver} from '@vant/auto-import-resolver';// https://vitejs.dev/config/
export default defineConfig({server: {open: true,port: 8088,},plugins: [vue(),AutoImport({resolvers: [VantResolver()],}),Components({resolvers: [VantResolver()],}),],resolve: {alias: {"@": path.resolve(__dirname, "src"),}}
})

修改src/page/home/index.vue,使用组件和API。注意,这里无论是组件还是API,都不需要我们手动引入,我们配置了自动导入以后,vite会帮我们自动导入。

<script setup>
showToast('No need to import showToast');
</script><template>home<van-button type="primary"/>
</template><style scoped></style>

此时预览效果如下:
在这里插入图片描述

划分页面结构

在这里插入图片描述

四个页面,对应四个底部导航:

  • me:我的
  • home:首页
  • welfare:福利
  • community:社区

然后添加layout用于存放布局组件,添加底部导航组件:
在这里插入图片描述

修改 src/router/index.js,配置路由:

import { createWebHashHistory, createRouter } from 'vue-router'const routes = [{path: "/",component: () => import("@/page/home/index.vue")},{path: "/community",component: () => import("@/page/community/index.vue")},{path: "/welfare",component: () => import("@/page/welfare/index.vue")},{path: "/me",component: () => import("@/page/me/index.vue")},
]const router = createRouter({history: createWebHashHistory(),routes,
})export default router
http://www.lryc.cn/news/407428.html

相关文章:

  • Intel任命Micron技术开发主管领导Intel Foundry制造运营
  • 苹果发布iOS 18 Beta 4,新增CarPlay 壁纸等多项功能改进
  • 谷粒商城实战笔记-50-51-商品分类的删除
  • vue3+g2plot实现词云图
  • Golang | Leetcode Golang题解之第273题整数转换英文表示
  • 使用C#手搓Word插件
  • WordPress主题追格企业官网主题免费开源版V1.1.6
  • uniapp引入自定义图标
  • pytorch-scheduler(调度器)
  • 防火墙与入侵检测系统(IDS/IPS)在现代网络安全中的关键角色
  • Python 之 os、open、json、pickle 模块的“疯狂”探险记
  • CTF-Web习题:2019强网杯 UPLOAD
  • Unity环境渲染与反射探针的深入探索
  • vue3 父组件 props 异步传值,子组件接收不到或接收错误
  • [C++]TinyWebServer
  • Uniswap价格批量查询与ws订阅行情
  • vue 实战 区域内小组件元素拖拽 示例
  • C++多线程编程中的锁详解
  • van-dialog 组件调用报错
  • 【Django】在vscode中运行调试Django项目(命令及图形方式)
  • 麦田物语第十三天
  • 【Git多人协作开发】不同的分支下的多人协作开发模式
  • Lua 复数计算器
  • 深入MySQL中的IF和IFNULL函数
  • AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理
  • Docker 搭建Elasticsearch详细步骤
  • mysql中提供的函数
  • 加速下载,揭秘Internet Download Manager2024下载器的威力!
  • oracle 宽表设计
  • winrar安装好后,鼠标右键没有弹出解压的选项