仿网易云Music前端项目day2--项目搭建

60 阅读1分钟

一、项目搭建

1.1 布局分析

登录、Layout 在一级路由显示

Layout 下配置二级路由

1.2 路由配置

路由出口 App.vue

<template>
  <router-view></router-view>
</template>

Layout/index.vue

<template>
  <div class="app_layout">
    <header>header</header>
    <aside>aside</aside>
    <main>main</main>
  </div>
</template>

router/index.js

import Layout from "@/views/Layout/index.vue";
import Login from "@/views/Login/index.vue";


const router = createRouter({
  history: createWebHashHistory(import.meta.env.BASE_URL),
  routes: [
    { path: "/", component: Layout, children: [] },
    { path: "/login", name: "login", component: Login },
  ],
});

1.3 Layout 布局

Layout/index.vue

<template>
  <div>
    <div class="common-layout">
      <el-container>
        <el-aside width="200px"><Aside></Aside></el-aside>
        <el-container>
          <el-header><Header></Header></el-header>
          <el-main>
            <router-view></router-view>
          </el-main>
        </el-container>
      </el-container>
    </div>
  </div>
</template>

<script setup>
import Aside from "./components/Aside/index.vue";
import Header from "./components/Header/index.vue";
</script>

<style scoped>
.app_layout {
  height: 100%;
}
</style>