首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

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

  •  
  •   DavidNineRoc · 69 天前 · 11138 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    129 回复  |  直到 2018-03-22 21:51:55 +08:00
    1  2  
        101
    wotemelon   68 天前 via Android
    看了前几个评论差点吐血。这明显是 ssr 服务端渲染啊,不要 ssr 直接给你静态文件了
        102
    ericls   68 天前 via iPhone   ♥ 1
    @wotemelon 从图中看的确是像是 SSR 但是 就算不是 ssr 可能也不好 本地 build. 可能会涉及到 assets 的处理…… 当然 各种情况都有可能 也各有好坏。

    另外 前端从来都很复杂 你看看 Android 还用 Java 写前端呢……
        103
    huba   68 天前 via Android
    我就想知道一件事,你说的这个前端月薪是有多少。。。。总感觉很恐怖。
        104
    markx   68 天前
    @mkeith 你说的是没错。 我想说的是,无论楼主懂不懂 node 的服务端渲染,他是负责 API 的。
        105
    fulvaz   68 天前
    给他个 nginx 让他自己维护去
        106
    ymcz852   68 天前
    也没什么的,身为一个前端,虽然懂一点 SSR,但是直接上来就丢给你这不懂的知识,不事先商量,我觉得是不行,身为程序员多了解点为人处世,比懂多点知识更高级
        107
    Clarencep   68 天前
    服务端渲染而已,大惊小怪。

    不过作为一个 PHPer,我还是觉得 "用户 <--> node 服务 <--> PHP 服务” 这样的服务端渲染流程不太靠谱 -- node 的部署比较麻烦,可能会中断服务而影响用户体验。

    我建议使用 "用户 <--> PHP 服务 <--> node 服务" 这样的流程。从 PHP 调 node 服务的时候设个超时时间(比如 500ms ),超时的话就别服务端渲染了,PHP 直接渲染出个基本页面就得了。这样能有效地防止不靠谱的前端的 node 服务出 bug。
        108
    AppxLite   68 天前
    @abcbuzhiming 笑了,没有服务器权限你行你上啊!!!
        109
    int64ago   68 天前
    @Clarencep #107 淘宝、天猫里有很多用了 Node 作为前置渲染层,靠不靠谱不是你说了算
        110
    DavidNineRoc   68 天前
    @Muninn 下次让他自己来 ^_^
    @jasperjia 我还在用 var >_
    @keikeizhang 用远程 windows 服务器远程管理多个 linux 主机,我上 windows 帮看看。
    @miyalee 以前的前端同事给我的直接丢 dist
    @duan602728596 展示类的网站,而且前端不搞服务端渲染,你再怎么 es6 写法,还不是语法糖,最后直接打包成浏览器能直接识别的?
    @markx
    @mkeith
    @orzzyd 前端见识少,别见怪
        111
    DavidNineRoc   68 天前
    @wotemelon 看前端。。。
    @huba 要是都知道同事的工资就好了
    @fulvaz 下次就是了
    @ymcz852 下次让他来就行了
    @Clarencep 中断立马帅锅给前端。。。
        112
    jasperjia   68 天前
    @DavidNineRoc 该同事看书只看第一页吧 一个 let 用到天荒地老
        113
    GavinGuo   68 天前
    我是做前端的
    目前前端确实大多用 node 来部署的,node 充当 http 服务器,但你说前后端分离,那也可以 build 成纯 html+js 的形式,再用 apache 或 nginx 来做 http 服务器,这些都不是事
        114
    luoway   68 天前
    @Clarencep
    “用户 <--> PHP 服务 <--> node 服务”是不可能的,两个 js 栈之间无论什么理由都不会出现别的语言。
        115
    raphaelsoul   68 天前
    @mritd 不做 服务器服务器国外的 速度很好 而且 layer 有了后面实际上也不会再去下载了 因为 layer 内容没变
        116
    jyf   68 天前
    用什么很正常 不过要别人给你的技术战买单不太好 所以最好贵厂提倡 dockernize
        117
    zpf124   68 天前
    @DavidNineRoc 你们这前端太奇葩了,你贴的这玩意是 nodejs,是一套服务端程序,相当于一个什么流程呢。

    既然你是 php 的,那就用 php 举例, 目前这样就像是:

    他做了一个 php 的全套网站, 只不过数据查询不是用 mysql 的库,而是通过 http 请求,去访问了你的网站。

    --------------------------------------------------------------------

    也就是说一个用户如果访问你们项目,实际的流程是这样:

    1,用户请求之后,访问了他做的服务器程序,然后他的服务器返回 html 页(静态的或者是他服务器生成的动态页面)。

    2,(根据他这个幺蛾子思路,估计他前端的异步请求也是访问的他自己的服务器),用户浏览器执行 js,异步请求他的服务器,他的服务器再调用你的 api,获取查询结果然后返回。

    也就是说,根本没有前后端分离, 只是你们前端的同志自己也搞了一套后端项目,你们这做的玩意应该叫做服务化。
        118
    zhjie   68 天前
    @zpf124 #117 请教一下您认知里的前后端分离
        119
    coalo   68 天前
    @zpf124 #117 你思路说清楚了,不过这个就是前后端分离的基本思路,前端收到用户请求后,调用后端数据 api,渲染页面。后端只负责数据业务的处理
        120
    coalo   68 天前
    前端的技术栈在近三年内确实更新到了这种层次,一般不会前端渲染相关技术的前端程序员都找不到高薪工作了
        121
    coalo   68 天前
    楼主可以看下这篇文章就明白了 https://github.com/camsong/blog/issues/8
        122
    zpf124   68 天前
    @zhjie 因为没有贴出 js 代码,我不确定这个 node 是做了后端的功能了,还是仅仅是做服务端渲染。

    前后端分离在我的理解里是这样的。

    如果没有服务端渲染:
    用户访问服务器, 服务器直接发送静态 html 页和其他资源, 用户浏览器端 js 执行异步请求访问后端动态服务器获取数据。

    如果有服务端渲染:
    用户访问服务器,做服务端渲染用的 node 服务器,读取 html 页,向后端服务器请求数据,然后将数据渲染到 html 中发送给浏览器,当切换页面时用户浏览器端 js 执行异步请求访问后端动态服务器获取数据。


    服务的渲染的服务器仅仅用来第一次用户访问时生成带数据的 html 页,之后完全不访问这个服务器。
        123
    DavidNineRoc   68 天前
    @jasperjia 给我讲讲为什么 let 不好 >_<
    @GavinGuo 我也不是很清楚,不过肯定的是他只是服务端渲染,没有写后端的代码
        124
    zhjie   68 天前
    @DavidNineRoc #123 let 和 cost 的区别,就算百度都能搞清楚,大体上是这样的,需要修改变量的用 let,不需要修改的如引入的模块,方法规范点用 const。假如项目用了 eslint 检测,这个 let 肯定是要报警的。
        125
    suzic   68 天前 via Android
    他写了一层 node 中间件,用来做服务端渲染
        126
    xylophone21   68 天前
    这种做法确实存在,只不过为什么会在你们都开发好了再撕?你们的系统工程师呢?
        127
    Thiece   67 天前
    一个帖子暴露了 V2EX 的平均水平
        128
    Clarencep   65 天前
    @DavidNineRoc 不是甩锅的事儿,咱得对整个系统负责
        129
    Clarencep   65 天前
    @luoway 有,理由就是可维护性和可靠性。
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1731 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 04:52 · PVG 12:52 · LAX 21:52 · JFK 00:52
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1