前端Vue项目:旅游App-搭建项目重置css配置router和store(pinia)
Posted karshey_v
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端Vue项目:旅游App-搭建项目重置css配置router和store(pinia)相关的知识,希望对你有一定的参考价值。
文章目录
创建项目
npm init vue@latest
本项目相关选择:
安装相关依赖:
npm install
试着跑一下:
npm run dev
出现以下语句表示成功:
搭建和配置项目:项目目录结构划分
- assets:静态资源,如img,css、font、audio
- components:抽取组件
- hooks:逻辑
- mock:mock模拟数据
- router:配置路由
- service:网络请求
- utils:工具
- views:页面
重置CSS
重置css分为两步:
- normalize.css
- reset.css
normalize.css
是总结了大部分前端重置的重置代码。
在终端安装:
npm install normalize.css
在main.js引入:
import "normalize.css"
reset.css
/**
* Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
* http://cssreset.com
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
font-weight: normal;
vertical-align: baseline;
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section
display: block;
ol, ul, li
list-style: none;
blockquote, q
quotes: none;
blockquote:before, blockquote:after,
q:before, q:after
content: '';
content: none;
table
border-collapse: collapse;
border-spacing: 0;
/* custom */
a
color: #7e8c8d;
text-decoration: none;
-webkit-backface-visibility: hidden;
::-webkit-scrollbar
width: 5px;
height: 5px;
::-webkit-scrollbar-track-piece
background-color: rgba(0, 0, 0, 0.2);
-webkit-border-radius: 6px;
::-webkit-scrollbar-thumb:vertical
height: 5px;
background-color: rgba(125, 125, 125, 0.7);
-webkit-border-radius: 6px;
::-webkit-scrollbar-thumb:horizontal
width: 5px;
background-color: rgba(125, 125, 125, 0.7);
-webkit-border-radius: 6px;
html, body
width: 100%;
font-family: "Arial", "Microsoft YaHei", "黑体", "宋体", "微软雅黑", sans-serif;
body
line-height: 1;
-webkit-text-size-adjust: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
html
overflow-y: scroll;
/*清除浮动*/
.clearfix:before,
.clearfix:after
content: " ";
display: inline-block;
height: 0;
clear: both;
visibility: hidden;
.clearfix
*zoom: 1;
/*隐藏*/
.dn
display: none;
目录结构
reset是重置样式表。
我们把所有的css文件写进index.css,如:
@import "./reset.css";
然后在main中引入index.css:注意,normalize.css不要放进index.css,它们是分开的。
import "./assets/css/index.css"
配置router
目标:四个页面,点就跳转。
对应页面组件
目录结构:
页面内容(以favor为例):
<template>
<div class="favor">
<h2>favor</h2>
</div>
</template>
<script setup>
</script>
<style lang="less" scoped>
</style>
index.js
安装依赖:
npm install vue-router
index.js:
import createRouter,createWebHashHistory from 'vue-router'
const router=createRouter(
history:createWebHashHistory(),
routes:[
path:'/',
redirect:'/home' //重定向到home
,
path:'/home',
component:()=>import("@/views/home/home.vue")
,
path:'/favor',
component:()=>import("@/views/favor/favor.vue")
,
path:'/order',
component:()=>import("@/views/order/order.vue")
,
path:'/message',
component:()=>import("@/views/message/message.vue")
,
]
)
export default router
在main中引入并use:
import router from './router'
createApp(App).use(router).mount('#app')
在App中写router-view
:
<template>
<div class="app">
<router-view/>
<router-link to="/home">首页</router-link>
<router-link to="/favor">收藏</router-link>
<router-link to="/order">订单</router-link>
<router-link to="/message">消息</router-link>
</div>
</template>
效果:
我们这里要把router-view写在router-link的上面。我们要点击跳转到的路由界面在选择的上面。
配置store
我们这里用的是pinia。
安装依赖:
npm install pinia
配置:
import createPinia from 'pinia'
const pinia = createPinia()
export default pinia
在main中引入并use:
import pinia from './store'
createApp(App).use(router).use(pinia).mount('#app')
以上是关于前端Vue项目:旅游App-搭建项目重置css配置router和store(pinia)的主要内容,如果未能解决你的问题,请参考以下文章
前端Vue项目:旅游App-TabBar:点击active效果点击路由跳转
前端Vue项目:旅游App-TabBar:搭建TabBar循环获取动态数据相关工具封装