2024年前端最全自动化部署的一小步,前端搬砖的一大步(2),科学技术协会面试真题

Vue 面试题

1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?

如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】


先写个自动构建部署的脚本,主要是包含了切git分支,拉取最新代码,构建打包,传输文件到服务器这些步骤。

scp 命令用于 Linux 之间复制文件和目录

#!/bin/bash

git checkout develop

git pull

npm run build:test

scp -r ./dist/. username@162.81.49.85:/usr/share/nginx/html/projectname/

ps:ip已经被我胡乱改了一把,别试着攻击我了。

然而我发现在使用部署脚本的过程中,每次操作都要输入密码,很烦人。

ssh认证


虽然很讨厌输密码,但是密码是安全的保证,如果不输入密码,只能通过ssh安全访问了。

首先是在自己工作电脑的~/.ssh目录下创建密钥对

ssh-keygen -t rsa

根据个人情况按需修改密钥对的文件名,输入密码时回车即可,代表不需要使用密码

生成ssh密钥

接着要把公钥传输到服务器

scp ~/.ssh/id_rsa.pub username@162.81.49.85:/home/username/.ssh/authorized_keys

如果服务器已经存在authorized_keys文件,那么可以直接在服务器上修改authorized_keys文件,在文件末加入你自己的id_rsa.pub内容即可。

然后我们再修改部署脚本,改用ssh认证方式向linux服务器传输文件。

#!/bin/bash

git checkout develop

npm run build:test

scp -i ~/.ssh/id_rsa -r ./dist/. username@162.81.49.85:/usr/share/nginx/html/projectname/

scp-i参数指定传输时使用的密钥文件,这样就可以通过ssh安全访问,而不用再每次输入密码了。-r参数则是recursive,代表递归复制整个目录。

最后我们可以修改下package.json,通过npm scripts来执行sh

“scripts”: {

“deploy:test”: “deploy-test.sh”

}

配合vscodenpm scripts快捷方式,用起来就很舒服了。

npm scripts

注意,如果linux文件权限不够也可能报错的,别忘了给authorized_keys文件赋予权限,拥有者可读可写即可。

chmod 600 authorized_keys

好了,按下那个deploy:test,静静等待一会吧。此时别忘了扭扭脖子,按按腰啊,程序员还是要注意身体,对自己好一点。

scp传输中

随着bash窗口的自动关闭,部署工作也画上了句号。

完工

last but not least

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

这里还要考虑的一个问题是,部署过程中会不会造成用户访问问题?

答案是会影响用户访问。比如部署脚本执行过程中,已经替换了index.html,正在部署静态资源,此时用户正好进入网站,新的index.html却访问不到新的静态资源,网页白屏报错。

解决方法是先上静态资源,再上页面。因为静态资源经webpack构建后都带上了hash值,先上静态资源不会影响原有的版本,所以我们还需要再优化下部署脚本,分解下传输过程。

总结

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

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

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

  • 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值