vue2项目:路由搭建
文章目录
- 使用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"]
}
路由分析
本项目包含如下组件:
- 一般组件,有 Header组件、Footer组件。
- 路由组件,有 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.vue
和Footer.vue
。
在src
文件夹下创建新文件夹:pages
,放置路由组件:Home.vue
、Search.vue
、Login.vue
、Register.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项目:路由搭建相关推荐
- Vite 搭建 Vue2 项目(Vue2 + vue-router + vuex)
Vite 先让我说几句废话. 在写本文时 Vite 没有提供 Vue2 的创建方式. 相信有些开发者还没开始学 Vue3,但又想尝尝 Vite.那可以参考本文的进食方式. 如果心急的话,"0 ...
- vite搭建vue2项目
问题提出 最近在做一个练习的小项目,由于要配合组成员的其它成员来搭建项目,大多掌握的技术栈都在vue2,用惯了vite来搭建(vite真香~),就想着来搭建一个vue2的项目.原本以为查下百度很快可以 ...
- vue1与vue2的路由 以及vue2项目大概了解
vue1的路由 1.设置根组件 Vue.extend() 2.设置局部组件 Vue.extend({template:"/home"}) 3.实例化路由 var route ...
- 从壹开始前后端分离【 .NET Core2.2 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储+服务+抽象接口模式...
前言 1.@LearningCoding 小伙伴关于用Sqlsugar在mysql数据库上的研究成果: sqlsugarcore支持mysql等数据库,在DbContext里面只需要设置dbtype为 ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之八 || API项目整体搭建 6.3 异步泛型仓储+依赖注入初探...
代码已上传Github+Gitee,文末有地址 番外:在上文中,也是遇到了大家见仁见智的评论和反对,嗯~说实话,积极性稍微受到了一丢丢的打击,不过还好,还是有很多很多很多人的赞同的,所以会一直坚持下去 ...
- 使用 Vue3 重构 Vue2 项目(长文)
前言 2020年9月18日,vue3正式版发布了,前几天把文档整体读了一遍,感触很深,可以解决我项目中的一些痛点,于是就决定重构之前那个vue2的开源项目. 本篇文章就记录下重构vue2项目的过程,欢 ...
- Vue2项目实战(一)
目录 一.项目搭建 二.清空项目非必要文件 三.路由组件搭建 一.项目搭建 项目前置需求:安装node npm 安装n工具可以自由切换node版本 npm i -g n n -ls //查看所有nod ...
- Android组件化打造知乎日报系列(一)—— 项目架构搭建
Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...
- (三) Angular2项目框架搭建心得
前言: 在哪看到过angular程序员被React程序员鄙视,略显尴尬,确实Angular挺值得被调侃的,在1.*版本存在的几个性能问题,性能优化的"潜规则"贼多,以及从1.*到2 ...
最新文章
- ISME:广东土壤所孙蔚旻组-脱硫弧菌介导的硫氧化锑还原耦合作用
- python两个数据表中的对应数据相加
- idea yml文件不变成树叶_springboot获取配置文件的三种方式
- js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
- 如何高效的编写与同步博客 (.NET Core 小工具实现)
- 【Pytorch】model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
- php 函数 中文,PHP语言之PHP中文函数连载(二)
- 使用Python内置浏览器缓存cookies并做更新
- SecureCRT恢复默认字体
- [Windows] 一些简单的CMD命令
- poj 1125 Floyd简单
- 运筹学笔记 整数规划
- 【IoT】NFC APDU 使用基础浅析
- Maven环境变量配置-win10
- 网关gate启动报错Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.g
- Server2008如何卸载MySQL_「完美卸载」完美卸载SQL Server 2008 R2 的方法,适合所有问题 - seo实验室...
- Android常用库和插件避免重复造轮子(持续更新)
- adb模拟器安装xposed
- 网络安全:图片隐藏攻击
- NVIDIA英伟达jetson xavier nx怎么进入Recovery模式