Web前端最全自动化部署的一小步,前端搬砖的一大步(1),多亏这份《秋招+金九银十-腾讯面试题合集》跳槽薪资翻倍

最后

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

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

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

使用主流的构建工具如webpack, gulp, rollup等。

构建目标


通过脚本化的形式组织代码检查编译压缩混淆资源处理devServer等工作流事务。

手动部署

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

踩过的坑


本人曾经也尝试过两种手动部署的方法。

  • 搬砖模式,将构建完毕的文件夹通过xftp传输到服务器/usr/share/nginx/html目录下。

  • 将构建完毕的文件夹用git分支管理起来,推送到远程仓库,然后在linux服务器上拉取这部分代码。

第一种方法显然已经属于刀耕火种模式了,不过我竟然用了很久。唉,没办法,业务缠身的我只能挤出时间来优化工作流。

第二种方法我自己私下也用过,后来一想,好像可以用git hook来改造优化下,也是实现自动部署的好方法。有兴趣的同学可以试试git hook

自动部署

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

写脚本


先写个自动构建部署的脚本,主要是包含了切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快捷方式,用起来就很舒服了。

判断

回到题目,如果你真想检验一个人的水平。第一步先考察一下基本的编程基础,问几个基本的编程问题,可以和前端相关也可以无关。比如垃圾收集大致是怎么做的,setTimeout 大致做了什么(说会在另一个线程里执行回调的直接毙掉)。

第二步考察一下知识面,问问http、tcp的基本知识,dns是怎么工作的,或者常用框架的实现原理,看看候选人是不是除了自己的一亩三分地什么都不关心。

第三步考察hold业务逻辑的能力,从一个简单的注册页,或者查询页开始,先让说下代码的基本架构,然后需求、性能、可靠性、安全层层加码,看看能不能很快的反馈出解决方案。能对答如流的要么做过,要么对他来说这种复杂度的东西是小case。

前三步都没问题,基本上说明候选人已经还行了,但是行到什么程度,不知道。如果想找比较厉害的,就增加个第四步,亮点项目考察。

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

总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题分享给大家,希望对即将去面试的小伙伴们有帮助!

过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题分享给大家,希望对即将去面试的小伙伴们有帮助!

[外链图片转存中…(img-LswJ7YTC-1715896006201)]

[外链图片转存中…(img-vUHCL7vz-1715896006202)]

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值