进来聊一聊前端上线的一些问题

今天是你坚持学习 第七阶段 · 云与环境部署 的第 8 天。

前几天时间我们主要学习了 Linux 相关的知识,目的是让你在服务端操作时可以得心应手。这几天我们聊一聊,前端上线的一些问题。

前端开发中,你很可能只管开发不管上线,即使平时也会上线,但是上线流程也可能是「傻瓜式点击」。反正功能开发完了,至于为啥能正常访问线上的内容,你可能很模糊。

如果不在公司的庇护下,作为一名前端程序员,你能不能搞定前端一条龙服务「开发 -> 持续集成 -> 跑流水线,进行安全检查 -> 打包 -> 上线 -> 供用户正常访问你的页面 -> 线上异常处理(日志,报警)」。

在开发的时候,现在的工具非常方便,一条命令就能帮你搭建一个本地服务,愉快地进行开发,开发完提交代码,上线啥的统统交给 Leader。最终导致一个悲剧,发现做了好几年前端开发,却不能独自完成一个网站开发与运营。

在 第三阶段结语:告别网络编程 这一阶段和大家一起学习了关于网络中需要掌握的知识,为 第七阶段 · 云与环境部署 奠定了基础。网络相关的知识无论对移动端还是前端都是值得去深入学习的。

前端由于 node 的兴起,JavaScript 脱离了浏览器的怀抱,可直接运行在服务端,也就是说平时你向 server 要的接口可以用 JavaScript 来写了。一门后端语言的兴起,必然会有与之对应的 web 框架。node 中,web框架为首的主要是 express,后来出现了 koa(可以说是 express 的升级版)。无论是 express,还是 koa,最终依赖的还是 node 提供的 http 模块,而 http 依赖的是 tcp。

随后,yog2 和 egg.js 出现了。egg.js 是阿里基于 koa 开源的一个框架。yog2百度基于 express 开源的一个框架。平时我用的最多的是 yog2,它能够把很大的业务拆分成独立的 app,每个 app 可以看做是一个业务模块,可独立运行与部署,统一管理日志服务,是一个不错的框架。

除  node 之外,还有基于 PHP、Java 提供的 web 服务,接口和 web 页面都依托于同一个 webserver,只是返回的 content-type 不一样,最常用的是 json 和 html。

在平时的前端项目中,你是如何部署前端代码的?采用的前端服务(webserver 采用的方式)是什么?欢迎留言讨论,让我也开开眼界。


推荐阅读:

vim 电脑壁纸来了(3种主题)

第七阶段 · 云与环境部署

第 3 阶段专辑,网络编程