现在前端都已经这么高级了吗?

2018-03-19 11:37:48 +08:00
 DavidNineRoc

我只是想问一个问题,如果有说的不对的地方,勿喷: 现在的项目前后台分离,我负责 api, 同时把他的前端给我,让我部署到服务器。(还要我装 node,yarn 什么之类的) 我惊呆了,前端为什么还要求服务器装这些?不是开发的时候用,部署时管你用什么 es6,不都打包成 html ? 然后我就懵逼了,我的前端还停留在 jq 的时代; 我也不知道用的什么框架,截图一张。 难道现在不支持打包成浏览器直接运行的? ps:我另一个同事用的 rn,说可以的,然后争不过另外一个。求大神解释一下

18446 次点击
所在节点    问与答
129 条回复
notreami
2018-03-19 14:52:42 +08:00
@DavidNineRoc 无非就是想把 API 那层包了。
假设你们后端服务是一个大集群、分布式。大前端其实就是想把面向客户的那层包了。以及汇总接口的那层前置 API 层(后端服务)包了。然后、后端服务,就可以抛弃 http 协议了。找个高效的 RPC 协议就可以了
alexsunxl
2018-03-19 14:53:07 +08:00
这种 前端->node(渲染层)->php(接口数据层)
理念是挺好的,而且大公司也崇尚用这种方案

但是 node 这一层的部署,如果管服务器的人没有对这个东西有一定把握的话, node 太容易挂掉或搞爆内存了
不是一开始定好的方案, 这么突然扔一套东西上来, 也难怪楼主会懵逼

既然他要这么玩, 应该他自己部署, 自己管好高可用这些, 至少保证 node 不 crash,另外日志这些也让他维护好.
所以楼主还是和他沟通一下, 并且把他的东西退回去,
要搞就好好搞,别把练手的东西这么扔过来
learnshare
2018-03-19 14:55:36 +08:00
本地打包和服务器打包都可以,最终生成的代码也不过是 HTML/CSS/JS,对系统没有要求
后端如果负责部署的话,帮忙部署前端内容也没毛病(你敢让前端登上服务器操作一下么)
alexsunxl
2018-03-19 14:58:15 +08:00
@learnshare 这里说的不是 build
是 node 起 server 渲染页面
billyu
2018-03-19 14:58:43 +08:00
我这儿就是这样:web 浏览器<——>NodeJs 服务器(模板引擎)<——>后端,服务器跑 node,nginx 做负载均衡,有些小项目直接用 node 全做了,操作数据库也挺方便。
abcbuzhiming
2018-03-19 14:59:10 +08:00
@isbase 谁不懂装懂,喂,你们不要自以为发明了全新的玩意好不好,你以为我没玩过 node 没去看过这东西的实现机制是吗?和字符串模板引擎有本质不同?加了点新功能就“本质不同”了?
还有,前端的可维护性不是用这个东西体现的,用了 nodejs 做渲染但是代码仍然写的换一个程序员就没法改的我见多了

多研究点技术,少忽悠点概念,看技术要看到本质。
abcbuzhiming
2018-03-19 15:02:55 +08:00
@finian 那是因为现在大部分后端语言没有实现 JS 引擎,山中没老虎,自然只好轮到 nodejs,不过前后端共用一套 UI 逻辑本身就是趋势,慢慢的后端语言都会逐渐实现 JS 引擎。另外我再说一次,前端的可维护性不是靠 NodeJS 服务器体现的
learnshare
2018-03-19 15:14:33 +08:00
@alexsunxl 那就适用于第二行
不过如果是 server-side-render,那前端应该也掌握了部署的技能
DavidNineRoc
2018-03-19 15:19:58 +08:00
@CoderGeek 给接口地址前端开发了

@notreami 我感觉我们没到那一个地步

@alexsunxl 服务器上还要挂着 `node index.js` ?这个和 php 的`php -S localhost:8000`应该不一样的吧,php 一般都是调试用

@learnshare 打包不了,前端说必须要用 node 跑

@billyu 唉,你们不要这样子呀,我 php 的感觉要收拾东西回家了
hlwjia
2018-03-19 15:34:21 +08:00
首先老大在哪?谁管事的,问一下服务端渲染是要还是不要的
abcbuzhiming
2018-03-19 15:41:37 +08:00
@DavidNineRoc 不要纠结,这种模式下 node 就是个服务器,通过执行 js 代码完成服务器逻辑,同时它作为客户端,向你的 api 接口发出请求获得数据,然后和它持有的模板文件组合,最后变成 html+css+js 吐给前端(浏览器)
goodryb
2018-03-19 15:43:03 +08:00
直接告诉他,你搞不定不就好了
lostinyou
2018-03-19 15:47:17 +08:00
楼主用的 laravel 吧
TestSmirk
2018-03-19 15:52:45 +08:00
前段不是程序员系列.
chairuosen
2018-03-19 15:53:38 +08:00
@abcbuzhiming 模板引擎缺少了逻辑封装,还真不是一个玩意。
qiaobeier
2018-03-19 16:00:26 +08:00
我觉得主要是你们前后端沟通有问题。
vigoss
2018-03-19 16:11:48 +08:00
说明你有点 out 了,该了解的还是要了解一些的。
YenvY
2018-03-19 16:16:44 +08:00
暴躁后端例行集会
yplam
2018-03-19 16:19:43 +08:00
楼主把锅甩给管事的就好,小公司这样搞有点坑,特别是在写 nodejs 的之前没写过后端的情况下

譬如可以测一下参数过滤、跨站攻击、错误告警之类,没写过后端的可能都不会在意这些
neilwong
2018-03-19 16:22:12 +08:00
是需要前端部署,但是这事是前端或者运维负责的啊,不归服务端的管。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439303

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX