【Vue】使用vue-cli搭建SPA项目的路由,嵌套路由

一、SPA项目的构建

1、前期准备

我们的前期的准备是搭建好Node.js,测试:

node -v
npm -v

2、利用Vue-cli来构建spa项目

2.1、什么是Vue-cli

        Vue CLI 是一个基于 Vue.js 的官方脚手架工具,用于自动生成vue.js+webpack的项目模板,它可以帮助开发者快速搭建 Vue.js 项目的基础结构,并提供了一系列的开发工具和配置选项。Vue CLI 提供了命令行界面和图形化界面两种方式,开发者可以根据自己的喜好选择使用。使用 Vue CLI,可以轻松进行项目初始化、管理依赖、开发调试、构建打包等常用开发任务,简化了 Vue.js 应用的开发流程,提高了开发效率。

        创建命令如下:           

 vue init webpack xxx

  

  • xxx 为自己创建项目的名称
  • 必须先安装vue,vue-cli,webpack,node等一些必要的环境

2.2、安装vue-cli

Win + R CMD 进入命令窗口输入npm install -g vue-cli命令

 输入npm install webpack -g

安装成功后,会出现如下文件:

  • vue
  • vue.cmd 
  • vue-init
  • vue-init.cmd
  • vue-list
  • vue-list.cmd


安装完成之后打开命令窗口并输入 vue -V(注意这里是大写的“V”),如果出现相应的版本号,则说明安装成功。

2.3、使用脚手架vue-cli构建项目

创建项目骨架:

  1. 找到一个放这个骨架的路径
  2. 进入目录CMD进入命令窗口
  3.  vue init webpack xxx :xxx为你的项目名,项目名不能用中文或大写字母,然后终端会出现“一问一答”模式
  4. cmd命令行窗口显示中文乱码,是cmd命令行窗口字符编码不匹配导致

            修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001

            切换回中文:chcp 936

            这两条命令只在当前窗口生效,重启后恢复之前的编码。
  5. “一问一答”模式

    1. Project name:项目名,默认是输入时的那个名称spa1,直接回车

    2. Project description:项目描述,直接回车

    3. Author:作者,随便填或直接回车

    4. Vue build:选择题,一般选第一个

      1. 运行加编译,官方推荐,就选它了

      2. 仅运行时,已经有推荐了就选择第一个了

    5. Install vue-router:是否需要vue-router

      1. Y选择使用,这样生成好的项目就会有相关的路由配置文件

    6. Use ESLint to lint your code:是否用ESLint来限制你的代码错误和风格。

      1. 如果你是新手一般填N,但实际项目中一般都会使用,这样多人开发也能达到一致的语法

    7. Set up unit tests:是否安装单元测试;N

    8. Setup e2e tests with Nightwatch?:是否安装e2e测试;N

    9. Should we run `npm install` for you after the project has been created? (recommended) (Use arrow keys)

      1. 第一项“Yes, use NPM”是否使用npm install安装依赖

  6. 全部选择好回车就进行了生成项目,出现如下内容表示项目创建完成,我们进行等待就行

  7. 运行完上面的命令后,我们需要将当前路径改变到SPA这个文件夹内

    1. cd gq_spa:改变路径到gq_spa文件夹下

    2. npm install:安装所有项目需要的npm模块

  8. 启动并访问项目

    1. 输入npm run dev

    2. 等待启动

  9. 复制上面的地址http://localhost:8080/,进入浏览器访问

  10. 最后利用我们的编程软件进行添加

2.4、vue项目结构说明

  1. build文件夹:这个文件夹主要是进行webpack的一些配置
    1. webpack.base.conf.js:webpack基础配置,开发环境,生产环境都依赖
    2. webpack.dev.conf.js:webpack开发环境配置
    3. webpack.prod.conf.js:webpack生产环境配置
    4. build.js:生产环境构建脚本      
    5. vue-loader.conf.js:此文件是处理.vue文件的配置文件
  2. config文件夹
    1. dev.env.js:配置开发环境 
    2. prod.env.js:配置生产环境 
    3. index.js:这个文件进行配置代理服务器,例如:端口号的修改 
  3. node_modules文件夹:存放npm install时根据package.json配置生成的npm安装包的文件夹
  4. src文件夹:源码目录(开发中用得最多的文件夹) 
    1. assets:共用的样式、图片 
    2. components:业务代码存放的地方,里面分成一个个组件存放,一个页面是一个组件,一个页面里面还会包着很多组件
    3.  router:设置路由   
    4.  App.vue:vue文件入口界面 
    5. main.js:对应App.vue创建vue实例,也是入口文件,对应webpack.base.config.js里的入口配置  
  5. static文件夹:存放的文件不会经过webpack处理,可以直接引用,例如swf文件如果要引用可以在webpack配置对swf后缀名的文件处理的loader,也可以直接将swf文件放在这个文件夹引用 
  6. package.json:这个文件有两部分是有用的:scripts 里面设置命令以及在dependencies和devDependencies中,分别对应全局下载和局部下载的依赖包

   

3、什么是Vue文件

        vue 文件,是一个自定义的文件类型,用类似HTML的语法描述一个Vue组件。每个.vue文件包含三种类型的顶级语言块 <template>, <script> 和 <style>。这三个部分分别代表了 html,js,css

二、SPA项目使用路由

我们以前的步骤:

  1. 确保引入Vue.vue-router的js依赖
  2. 首先需要定义组件(就是展示不同的页面效果)
  3. 需要将不同的组件放入一个容器中(路由集合)
  4. 将路由集合组装成路由器
  5. 将路由挂载到Vue实例中
  6. 定义锚点
  7. 跳转

现在的步骤:

1、依赖

确定我们的挂在依赖,在我们的main.js里面,路由也已经挂载了,不用管了

2、定义组件

components文件夹里面,新建你需要的vue文件

3、定义容器

vue文件里面的<template>里面,有且只能有一个根节点

<script>
</script><template><div class="index">这是网站的首页部分</div>
</template><style scoped></style>
<script>
</script><template><div class="home">这是网站的介绍</div>
</template><style scoped></style>

4、组装成路由器

<script>
export default {name: 'Index',data() {return {msg: '欢迎来到网站的首页'}}
}
</script><template><div class="index">这是网站的首页部分</div>
</template><style scoped></style>
<script>
export default {name: 'home',data() {return {msg: '欢迎来到网站的介绍部分'}}
}
</script><template><div class="home">这是网站的介绍</div>
</template><style scoped></style>

5、定义路由关系

router文件夹里面的index.js文件里面定义路由关系

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Index from '@/components/Index'
import Home from '@/components/Home'Vue.use(Router)export default new Router({routes: [{path: '/',name: 'HelloWorld',component: HelloWorld}, {path: '/Home',name: 'Home',component: Home}, {path: '/Index',name: 'Index',component: Index}]
})

定义自己的写的一个关系

6、定义锚点

App.vue里面定义锚点

<template><div id="app"><img src="./assets/logo.png"><br><router-link to="/Index">首页</router-link><router-link to="/Home">介绍</router-link><router-view/></div>
</template><script>
export default {name: 'App'
}
</script><style>
#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>

7、测试

三、SPA项目使用嵌套路由

1、最终展示效果

2、步骤

2.1、定义锚点

选择你需要定义的页面定义锚点

2.2、组装、定义容器

错不多的步骤定义好容器,组装需要的内容

2.3、定义关系

添加自己写的关系

我们不能直接在后面添加,需要用children数组来添加到指定的页面,不然展示不了我们需要的效果

2.4、测试

最后就展示我们的一个效果了

分享就到这里,感谢大家翻阅。

欢迎大家在评论区里讨论!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/138008.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt(day5)

思维导图 将登录操作和数据库绑定 mywnd.h #ifndef MYWND_H #define MYWND_H#include <QMainWindow> #include<QLabel> #include<QLineEdit> #include<QPushButton> #include<QDebug> #include<QMessageBox> #include"second.h&qu…

零基础转行网络安全可以做什么工作,内附网络安全自学路线

一直在说网络安全行业好就业、薪资高、前景也好&#xff0c;但是大家对网络安全这个行业具体做什么工作可能还一知半解。所以今天来跟大家聊聊&#xff0c;网络安全学完可以找到什么样的工作&#xff0c;顺便把不同岗位的不同技术要求也说一下。 【点击文章末尾卡片&#xff0…

Spring Security 对请求的处理流程

文章目录 前言系统启动Spring Security 对请求的处理总结 前言 分析Spring Security的核心原理&#xff0c;可以从以下几个方面进行&#xff1a; 系统启动的时候Spring Security做了哪些事情&#xff1f;发起一次请求后Spring Security做了哪些事情&#xff1f; 系统启动 当…

Puppeteer基础入门、常见应用、利用谷歌插件编写Puppeteer脚本

前言 Puppeteer已经听说过很多次了&#xff0c;也见过一些与之相关的文章。但是一直没怎么研究过&#xff0c;现在来简单学习一下。 简介 Puppeteer 是一个 Node 库&#xff0c;它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome。Puppeteer 默认以 headles…

【离网逆变器】离网逆变器型号由一个高频DC-DC升压转换器与全桥PI控制电压源逆变器级联组成、逆变器使用带LC滤波器的SPWM调制(Simulink)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

HTML5+CSS3+JS小实例:鼠标控制飞机的飞行方向

实例:鼠标控制飞机的飞行方向 技术栈:HTML+CSS+JS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" conten…

Vue项目前端代码防止被调试

项目背景 被安全测试针对了&#xff0c;总是调试我这不太安全的代码。前端代码深度混淆转成十六进制还不行&#xff0c;仍然找到加密方法&#xff0c;对后端数据进行解密。这次就修改了思路换种方法: 我承认阁下很强&#xff0c;但假如, 我是说假如打开控制台是空白页面&…

森林防火可视化智能监管与风险预警系统解决方案

一、方案背景 森林火灾是世界八大自然灾害之一&#xff0c;具有发生面广、突发性强、破坏性大、危险性高、处置扑救特别困难等特点&#xff0c;严重危及人民生命财产和森林资源安全&#xff0c;甚至引发生态灾难。有效预防和及时控制森林火灾是保护国家生态建设成果、推进生态…

eclipse svn插件安装

1.进入eclipse的help->Eclipse Marketplace,如下图所示&#xff1a; 2.输入“svn”,再按回车&#xff0c;如下图&#xff1a; 3.这我选择的是 Subversive,点击后面的“install”按钮&#xff0c;如下图 Eclipse 下连接 SVN 库有两种插件 —— Subclipse 与 Subversive &…

【MySQL基础】--- 约束

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、什么…

linux离线安装make

一、下载rpm包 https://pkgs.org/search/?qmake 二、拷贝至服务器 三、安装make rpm -ivh make-3.82-24.el7.x86_64.rpm四、查看是否安装成功 make -v

Docker部署单点Elasticsearch与Kibana

一 、 创建网络 因为需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里创建一个网络&#xff1a; docker network create es-net # 创建一个网络名称为:es-net 二 、拉取并加载镜像 方式一 docker pull elasticsearch:7.12.1 版本为elasticsearch的7…

【面试题】Js数组去重都有哪些方法?

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 表妹一键制作自己的五星红旗国庆头像&#xff0c;超好看 1. indexOf 定义&#xff1a; indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置…

60从零开始学Java之与数字相关的类有哪些?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 我们在解决实际问题时&#xff0c;会经常对数字、日期和系统设置进行处理&#xff0c;比如在我们的代…

期权如何交易?期权如何做模拟交易?

买卖期权的第一步就是要有期权账户&#xff0c;国内的期权品种有商品期权和ETF期权以及股指期权&#xff0c;每种的开户方式和要求都不同&#xff0c;下文为大家介绍期权如何交易&#xff1f;期权如何做模拟交易&#xff1f; 一、期权交易需要开立一个期权账户&#xff0c;可以…

Linux shell编程学习笔记1:关于shell的前世今生

一、什么是Shell&#xff1f; Shell英文单词的原意是“外壳”&#xff0c;在计算机领域专指在操作系统&#xff08;Operating System&#xff09;外层&#xff0c;提供用户界面&#xff08;User Interface&#xff09;的程序&#xff0c;主要负责将用户的命令&#xff08;Comma…

微信小程序与idea后端如何进行数据交互

交互使用的其实就是调用的req.get(url)方法 进行路径访问&#xff0c;你要先保证自己的springboot项目已经成功运行了&#xff1a; 如下&#xff1a; 如何交互的&#xff1f; 微信小程序&#xff1a;如下为index.js页面 在onLoad()事件中调用方法Project.findAllCities() 要…

flex弹性盒模型与阿里图标的使用

华子目录 flex布局flex布局原理flex使用三要素 阿里图标&#xff08;字体&#xff09; flex布局 相关学习网站&#xff1a;http://c.biancheng.net/css3/flex.html 1.flex是当前最主流的布局方式&#xff1a;用它布局起来更方便&#xff0c;取代了浮动的作用。 2.浮动布局有缺…

仪表基础知识培训

压力传感器:E+H PMX5x/FMX5x 一、安装:安装注意事项: 1、水平安装时仪表的呼吸孔(1)需要向下安装,并远离污染物。 2、请勿用坚硬的物体擦拭或接触膜片。 3、请勿安装在水泵的入口和搅拌叶附近 二、供电、接线、信号、:二线制,仪表输出4-20mA 三、量程:设置最大最小量程…

Stable Diffusion AI绘图使用记录

1、下载安装使用 官方网站https://github.com/AUTOMATIC1111/stable-diffusion-webui 跟着一步步安装就行&#xff08;英文版的&#xff09; 2、真人转二次元 下载控制插件Contro lnetGitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet 按照官方的安…