Vue CLI 4.5.7 脚手架项目的搭建、目录结构分析、Vue Router的基本使用

Vue CLI 致力于将 Vue
生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性,无需
eject。

官方文档地址:https://cli.vuejs.org/zh/guide/

一、创建Vue CLI 4.5.7 脚手架项目

1. 通过Webstorm npx方式新建一个Vue CLI脚手架项目

在这里插入图片描述

2. 默认目录结构如图所示

在这里插入图片描述

3. 打开命令行,使用npm ls --depth 0查看项目默认依赖

在这里插入图片描述

4. 使用npm run serve运行项目,默认端口为8080

二、Vue Router的基本使用

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:

  • 嵌套的路由/视图表
  • 模块化的、基于组件的路由配置
  • 路由参数、查询、通配符
  • 基于 Vue.js 过渡系统的视图过渡效果
  • 细粒度的导航控制
  • 带有自动激活的 CSS class 的链接
  • HTML5 历史模式或 hash 模式,在 IE9 中自动降级
  • 自定义的滚动条行为

官方文档地址:https://router.vuejs.org/zh/

1. 安装 Vue Router

npm install vue-router

在这里插入图片描述

2. 新建js文件

在这里插入图片描述

3. 编写路由

import VueRouter from 'vue-router'
import Vue from 'vue'
import Login from "@/components/Login";
// 使用VueRouter
Vue.use(VueRouter);
// 定义路由
const routes = [
    {
    
    
        path: '/',
        component: Login
    }
];
// 创建 router 实例,然后传 `routes` 配置
const router = new VueRouter({
    
    
    routes
});
// 暴露接口
export default router;

4. 挂载路由到根实例

编辑main.js

import Vue from 'vue'
import App from './App.vue'
import router from "@/router";
// 关闭生产模式下的提示
Vue.config.productionTip = false;

new Vue({
    
    
    // 挂载里路由到根实例
    router,
    render: h => h(App),
}).$mount('#app');

5. 编辑根组件App.Vue

<template>
    <div id="app">
        <!-- 路由匹配到的组件将显示在这里 -->
        <router-view></router-view>
    </div>
</template>
<script>
    export default {
    
    
        name: 'App',
    }
</script>

<style>
</style>

<router-view> 是最顶层的出口,渲染最高级路由匹配到的组件。同样地,一个被渲染组件同样可以包含自己的嵌套 <router-view>

要在嵌套的出口中渲染组件,需要在 VueRouter 的参数中使用 children 配置,children 配置就是像 routes 配置一样的路由配置数组,所以可以嵌套多层路由。

import VueRouter from 'vue-router'
import Vue from 'vue'
import Login from "../components/Login";
import Home from "../components/Home";
import UserList from "../components/user/UserList";
import SensitiveWord from "../components/sensitive-word/SensitiveWord";
import Report from "../components/report/Report";
import FileInfo from "../components/file-info/FileInfo";
import Register from "../components/Register";

Vue.use(VueRouter);

const routes = [
    {
    
    
        path: '/',
        redirect: '/login'
    },
    {
    
    
        path: '/login',
        component: Login
    },
    {
    
    
        path: '/register',
        component: Register
    },
    {
    
    
        path: '/home',
        component: Home,
        children: [
            {
    
    
                path: '/userList',
                component: UserList
            },
            {
    
    
                path: '/sensitiveWord',
                component: SensitiveWord
            },
            {
    
    
                path: '/report',
                component: Report
            },
            {
    
    
                path: '/fileInfo',
                component: FileInfo
            }
        ]
    }
];

const router = new VueRouter({
    
    
    routes
});

export default router

点赞,收藏,关注,你的支持是我最大的动力!

猜你喜欢

转载自blog.csdn.net/y1534414425/article/details/109127793