SPA项目开发之首页导航栏+左侧菜单,2024年最新前端面试题库

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

================================================================================================================================================================================================================

运行完成后会出现以下两个文件

配置开发环境及生产环境

为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置

(1)dev.env

module.exports = merge(prodEnv, {

NODE_ENV: ‘“development”’,

MOCK: ‘true’

})

(2)prod.env

module.exports = {

NODE_ENV: ‘“production”’,

MOCK: ‘false’

}

(3)main.js

//开发环境下才会引入mockjs

// 开发环境:true&&require(‘@mock’)会执行后面代码,也就是说mock.js会被导入到当前环境中、

// 生产环境:false&&require(‘@mock’)不会执行后面代码,也就是说mock.js不会被导入到当前环境中

process.env.MOCK && require(‘@/mock’)

/ 都是相对src的路径

main.js造数据的语法,使生成的数据不再单一

//使用mockjs的模板生成随机数据

const loginInfo = {

‘code|0-1’: 0,                //    两种

‘msg|3-10’: ‘msg’          //    八种

}

export default loginInfo;

③使用mockjs

在src目录下创建mock目录,定义mock主文件index.js,并在该文件中定义拦截路由配置

绑定的关系写在 /src/mock/index.js中

// 导入公共模块及mockjs全局设置

import Mock from ‘mockjs’ //引入mockjs,npm已安装

import action from ‘@/api/action’ //引入请求地址

//全局设置:设置所有ajax请求的超时时间,模拟网络传输耗时

Mock.setup({

// timeout: 400 //延时400s请求到数据

timeout: 200 - 400 //延时200-400s请求到数据

})

//引登陆的测试数据,并添加至mockjs

import loginInfo from ‘@/mock/json/login-mock.js’

let s1 = action.getFullPath(‘SYSTEM_USER_DOLOGIN’)

Mock.mock(s1, “post”, loginInfo)

// Mock.mock(s1, /post|get/i, loginInfo)

‘SYSTEM_USER_DOLOGIN’: ‘/vue/userAction_login.action’, //用户登陆

let s1 = action.getFullPath(‘SYSTEM_USER_DOLOGIN’)

Mock.mock(s1, “post”, loginInfo)

当请求Mock.mock时,会将变量s1对应的地址与loginInfo进行绑定

loginInfo在login-mock.js中

const loginInfo = {

‘code|0-1’: 0,

‘msg|3-10’: ‘msg’

}

export default loginInfo;

index.js将请求与结果进行了绑定

注:index.js文件的作用很显然,就是将分散的xxx-mock文件集合起来.后面再添加新的mock文件,都需要在这里引入

没有请用后台返回的数据,数据随机

每一次返回的msg 结果都不一样,有登陆成功也有失败

二,前台主界面的搭建

==========

1、导入公共组件

①、AppMain.vue

Main

②、LeftNav.vue

<el-menu default-active=“2” class=“el-menu-vertical-demo” background-color=“#334157”

text-color=“#fff” active-text-color=“#ffd04b” :collapse=“collapsed” >

导航一

分组一

选项1

选项2

选项3

选项4

选项1

导航二

导航三

导航四

③、TopNav.vue

<img class=“showimg” :src=“collapsed?imgshow:imgsq” @click=“doToggle()”>

超级管理员

设置

个人中心

<el-menu-item @click=“exit()” index=“2-3”>退出

④、导入图片/src/assets/img/…

公共组件在components目录下,业务组件在views目录下

2、配置路由

src/router/index.js

import Vue from ‘vue’

import Router from ‘vue-router’

import HelloWorld from ‘@/components/HelloWorld’

import Login from ‘@/views/Login’

import Reg from ‘@/views/Reg’

import AppMain from ‘@/components/AppMain’

import LeftNav from ‘@/components/LeftNav’

import TopNav from ‘@/components/TopNav’

Vue.use(Router)

export default new Router({

routes: [{

path: ‘/’,

name: ‘Login’,

component: Login

},

{

path: ‘/Reg’,

name: ‘Reg’,

component: Reg

},

{

path: ‘/Login’,

name: ‘Login’,

component: Login

},

{

path: ‘/AppMain’,

name: ‘AppMain’,

component: AppMain,

children: [{

path: ‘/LeftNav’,

name: ‘LeftNav’,

component: LeftNav

},

{

path: ‘/TopNav’,

name: ‘TopNav’,

component: TopNav

}

]

},

]

})

3、登录成功跳主界面

修改登录界面登录成功后跳主界面

src/views/Login.vue(登录)        登录成功跳转到主界面

submitForm() {

let url = this.axios.urls.SYSTEM_USER_DOLOGIN;

this.axios.post(url, this.ruleForm).then((resp) => {

console.log(resp);

if (resp.data.code == 1) {

this.$message({

message: resp.data.msg,

type: ‘success’

});

this.$router.push({path:‘/AppMain’});

} else {

this.$message({

message: resp.data.msg,

总结

前端资料汇总

  • 框架原理真的深入某一部分具体的代码和实现方式时,要多注意到细节,不要只能写出一个框架。

  • 算法方面很薄弱的,最好多刷一刷,不然影响你的工资和成功率😯

  • 在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。

  • 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
    喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.data.msg,

type: ‘success’

});

this.$router.push({path:‘/AppMain’});

} else {

this.$message({

message: resp.data.msg,

总结

前端资料汇总

  • 框架原理真的深入某一部分具体的代码和实现方式时,要多注意到细节,不要只能写出一个框架。

  • 算法方面很薄弱的,最好多刷一刷,不然影响你的工资和成功率😯

  • 在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。

  • 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
    喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-CFWRzS2Q-1713387416213)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值