├── Home.vue
└── Login.vue
……
└── vue.config.js (与src同级的配置文件)
单文件组件结构
举一个简单的例子。
反向代理配置
在vue.config.js文件下
module.exports={
devServer:{
proxy:{
“/api”:{
target:‘http://localhost:8088’,//访问的服务器地址
changeOrigin:true,//true为开启代理
//secure: true, // 如果是https接口,需要配置这个参数
pathRewrite:{
‘^/api’: ‘’//路径的替换规则
/*
*这里的配置是正则表达式,以/api开头的路径将会被‘/'替换掉
*假如后台文档的接口是 “https://www.cyclv.com/admin/login”
*前端调取API接口应写:axios.get(‘/api/admin/login’)
*/
}
}
}
}
}
axios
在api.js下简单封装了与后端交互的代码,主要考虑到如果以后交互技术的变化以方便拓展。
import axios from ‘axios’
export const postRequest = (url,data) => {
return axios.post(url,data);
}
export const getRequest = (url)=> {
return axios.get(url);
}
export const deleteRequest = (url)=> {
return axios.delete(url);
}
export const putRequest = (url,data)=> {
return axios.put(url,data);
}
具体代码片段,如:
const api = ‘api/login’;
postRequest(api, {
aid: this.loginForm.aid,
pwd: this.loginForm.pwd
})
.then(response => {
if (response.status == 201) {
// 在 store 的 state存储 状态
this.$store.commit(‘login’, this.loginForm);
this.$router.replace({path: ‘/home’});
} else {
alert(“密码错误!”);
}
})
.catch(res => {
this.console.log(“内部错误”);
})
路由
//import …………
Vue.use(VueRouter)
const routes = [
{
path:‘/login’,
name:‘Login’,
component:Login
},
{
path: ‘/home’,
name:‘Home’,
component: Home,
meta:{
// 表明页面需要进行拦截
requiredAuth: true
},
children :[
{
path: ‘display-students’,
name: ‘DisplayStudent’,
component:DisplayStudent
},
{
path: ‘add-students’,
name: ‘AddStudents’,
component: AddStudents
},
{
path: ‘display-courses’,
name: ‘DisplayCourses’,
component: DisplayCourses
},
{
path: ‘add-courses’,
name: ‘AddCourses’,
component: AddCourses
},
{
path: ‘add-achievement’,
name: ‘AddAchievement’,
component: AddAchievement
},
{
path: ‘display-achievement’,
name: ‘DisplayAchievement’,
component: DisplayAchievement
},
{
path: ‘add-score’,
name: ‘AddScore’,
component: AddScore
},
{
path: ‘display-score’,
name: ‘DisplayScore’,
component: DisplayScore
}
]
},
{
path: ‘*’,
redirect:‘/login’
}
]
const router = new VueRouter({
routes
})
export default router
store
这里只是简单的使用store技术,用于存储一些全局的状态。
这里存储了用户的登录状态。
import Vue from ‘vue’
import Vuex from ‘vuex’
Vue.use(Vuex)
/*
sessionStorage 只有关闭页面、退出浏览器才会清除
localStorage 除非只有主动清除,否则不会清除
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。
…(img-0Waj37rq-1711767523647)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-9J2dqe4F-1711767523648)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
最后
给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。
[外链图片转存中…(img-7rX9rfqf-1711767523648)]
[外链图片转存中…(img-JEyRJ4If-1711767523649)]
还没有评论,来说两句吧...