文章目录

  • 使用vue脚手架(Vue CLi)初始化项目
  • 项目的其他配置
  • 路由分析
  • 路由搭建
  • 测试

使用vue脚手架(Vue CLi)初始化项目

vue create vue_project,创建名为vue_project的项目。本项目使用vue2(“version”: “2.6.14”)。

项目的其他配置

  • 项目启动后自动打开浏览器。
  • 关闭Lint语法检查。
  • vscode下,给src文件夹取别名。

如果希望项目启动后自动打开浏览器,需要修改package.json,添加--open,如下所示。

个人偏爱【Ctrl+单击】的方式打开链接,故没有添加以上配置。

要关闭Lint语法检查,需要在项目根目录下创建配置文件vue.config.js,并将lintOnSave项设置为false,如下所示。

//vue.config.jsmodule.exports = {lintOnSave:false
}

vscode下,为方便路径引用,想给src文件夹取别名,则需要在项目根目录下创建文件jsconfig.json,文件内容如下。关于jsconfig.json,想了解更多,可以访问这里:https://code.visualstudio.com/docs/languages/jsconfig。

{"compilerOptions": {"baseUrl": "./","paths": {"@/*": ["src/*"]}},"exclude": ["node_modules","dist"]
}

路由分析

本项目包含如下组件:

  1. 一般组件,有 Header组件、Footer组件。
  2. 路由组件,有 Home组件、Search组件、Login组件、Register组件。
    访问/home时,显示 Home组件。Home组件中,顶部是Header组件,底部是Footer组件。
    访问/search时,显示 Search组件。Search组件中,顶部是Header组件,底部是Footer组件。
    访问/login时,显示 Login组件。Login组件中,顶部是Header组件,无底部。
    访问/register时,显示 Register组件。Register组件中,顶部是Header组件,无底部。

路由搭建

  • 安装vue-router@3。
  • 创建组件。包括一般组件和路由组件(components、pages)。
  • 创建路由器,配置路由规则(router/index.js)。
  • 注册路由(main.js)。
  • 使用路由(routerLink、routerView)。

项目代码结构如下。

npm install --save vue-router@3,安装3版本的vue-router(“version”: “3.5.3”,)。

npm install --save vue-router,默认安装最新版本的vue-router。vue-router当前最新版本是4版本。
vue@2搭配vue-router@4,将遇到报错:Uncaught TypeError: Object(…) is not a function。原因就是vue-router版本过高,因此改用3版本的vue-router即可。

src文件夹下创建新文件夹:components,放置一般组件:Header.vueFooter.vue
src文件夹下创建新文件夹:pages,放置路由组件:Home.vueSearch.vueLogin.vueRegister.vue

  • Header.vue
<template><div>我是Header组件</div>
</template><script>
export default {name:"Header"
}
</script>
  • Footer.vue
<template><div>我是Footer组件</div>
</template><script>
export default {name:"Footer"
}
</script>
  • Home.vue
<template><div>欢迎来到Home页面</div>
</template><script>
export default {name:"Home"
}
</script>
  • Search.vue
<template><div>欢迎来到Search页面</div>
</template><script>
export default {name:"Search"
}
</script>
  • Login.vue
<template><div>欢迎来到Login页面</div>
</template><script>
export default {name:"Login"
}
</script>
  • Register.vue
<template><div>欢迎来到Register页面</div>
</template><script>
export default {name:"Register"
}
</script>

src文件夹下创建新文件夹:router,放置路由配置文件:index.js

import Vue from "vue";
import VueRouter from "vue-router";import Home from "@/pages/Home.vue";
import Search from "@/pages/Search.vue";
import Login from "@/pages/Login.vue";
import Register from "@/pages/Register.vue";Vue.use(VueRouter);export default new VueRouter({routes:[{path:"/home",component:Home},{path:"/search",component:Search},{path:"/login",component:Login},{path:"/register",component:Register},{path:"/",redirect:"/home"}]
})

main.js里注册路由。

import Vue from 'vue'
import App from './App.vue'
import router from "./router";Vue.config.productionTip = falsenew Vue({render: h => h(App),router
}).$mount('#app')

使用路由:<router-link>标签实现切换,<router-view>指定展示位置。比如,在App.vue中使用routerLink和routerView,如下。

<template><div id="app">我是App组件<h2>链接如下:</h2><router-link to="/home">到主页面</router-link><br><router-link to="/search">到搜索页面</router-link><br><router-link to="/login">到登录页面</router-link><br><router-link to="/register">到注册页面</router-link><div><h2>显示内容如下:</h2><router-view></router-view></div></div>
</template><script>export default {name: 'App'
}
</script>

测试

npm run serve,启动应用,测试效果。

vue2项目:路由搭建相关推荐

  1. Vite 搭建 Vue2 项目(Vue2 + vue-router + vuex)

    Vite 先让我说几句废话. 在写本文时 Vite 没有提供 Vue2 的创建方式. 相信有些开发者还没开始学 Vue3,但又想尝尝 Vite.那可以参考本文的进食方式. 如果心急的话,"0 ...

  2. vite搭建vue2项目

    问题提出 最近在做一个练习的小项目,由于要配合组成员的其它成员来搭建项目,大多掌握的技术栈都在vue2,用惯了vite来搭建(vite真香~),就想着来搭建一个vue2的项目.原本以为查下百度很快可以 ...

  3. vue1与vue2的路由 以及vue2项目大概了解

    vue1的路由 1.设置根组件  Vue.extend() 2.设置局部组件  Vue.extend({template:"/home"}) 3.实例化路由   var route ...

  4. 从壹开始前后端分离【 .NET Core2.2 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储+服务+抽象接口模式...

    前言 1.@LearningCoding 小伙伴关于用Sqlsugar在mysql数据库上的研究成果: sqlsugarcore支持mysql等数据库,在DbContext里面只需要设置dbtype为 ...

  5. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之八 || API项目整体搭建 6.3 异步泛型仓储+依赖注入初探...

    代码已上传Github+Gitee,文末有地址 番外:在上文中,也是遇到了大家见仁见智的评论和反对,嗯~说实话,积极性稍微受到了一丢丢的打击,不过还好,还是有很多很多很多人的赞同的,所以会一直坚持下去 ...

  6. 使用 Vue3 重构 Vue2 项目(长文)

    前言 2020年9月18日,vue3正式版发布了,前几天把文档整体读了一遍,感触很深,可以解决我项目中的一些痛点,于是就决定重构之前那个vue2的开源项目. 本篇文章就记录下重构vue2项目的过程,欢 ...

  7. Vue2项目实战(一)

    目录 一.项目搭建 二.清空项目非必要文件 三.路由组件搭建 一.项目搭建 项目前置需求:安装node npm 安装n工具可以自由切换node版本 npm i -g n n -ls //查看所有nod ...

  8. Android组件化打造知乎日报系列(一)—— 项目架构搭建

    Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...

  9. (三) Angular2项目框架搭建心得

    前言: 在哪看到过angular程序员被React程序员鄙视,略显尴尬,确实Angular挺值得被调侃的,在1.*版本存在的几个性能问题,性能优化的"潜规则"贼多,以及从1.*到2 ...

最新文章

  1. ISME:广东土壤所孙蔚旻组-脱硫弧菌介导的硫氧化锑还原耦合作用
  2. python两个数据表中的对应数据相加
  3. idea yml文件不变成树叶_springboot获取配置文件的三种方式
  4. js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
  5. 如何高效的编写与同步博客 (.NET Core 小工具实现)
  6. 【Pytorch】model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
  7. php 函数 中文,PHP语言之PHP中文函数连载(二)
  8. 使用Python内置浏览器缓存cookies并做更新
  9. SecureCRT恢复默认字体
  10. [Windows] 一些简单的CMD命令
  11. poj 1125 Floyd简单
  12. 运筹学笔记 整数规划
  13. 【IoT】NFC APDU 使用基础浅析
  14. Maven环境变量配置-win10
  15. 网关gate启动报错Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.g
  16. Server2008如何卸载MySQL_「完美卸载」完美卸载SQL Server 2008 R2 的方法,适合所有问题 - seo实验室...
  17. Android常用库和插件避免重复造轮子(持续更新)
  18. adb模拟器安装xposed
  19. 网络安全:图片隐藏攻击
  20. NVIDIA英伟达jetson xavier nx怎么进入Recovery模式

热门文章

  1. vue学习记录-05 事件监听
  2. 推荐几个值得收藏的源码资源网站找源码必备
  3. JSON 对象的这些操作和使用场景你知道多少?
  4. vue中 slot 的使用总结
  5. 活动星投票优秀支书网络评选微信的投票方式线上免费投票
  6. 阿里巴巴搜索系统总结(三)
  7. 算法提高课——3.10 欧拉路径和欧拉回路
  8. 短视频抖音编剧导演拍摄分镜头策划脚本计划表
  9. java对象数组的初始化 看完我悟了
  10. 关于xboxone入华的结果