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

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

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

18445 次点击
所在节点    问与答
129 条回复
DavidNineRoc
2018-03-19 12:32:51 +08:00
@andy12530 我也没弄懂前端
@safedogcc 他是做前端,说是什么服务器渲染,我也懵逼

@GooMS 我只想安安静静的做一个 api 开发 >_<

@gdtv 现在是测试服务器,我晕,他要我装一个 node 在服务器上,我说我装了 nginx,他说不是一回事

@Perry 我不知道,我问另外一个前端同时他说 build,可以生成可以让浏览器直接运行的

@maichael 怎么解决直接让运行?而不是通过 node。
@feverzsj 不懂。。。求解释
DavidNineRoc
2018-03-19 12:34:23 +08:00
@misaka19000 我已经把数据接口给他,然后想放服务器上测试一下,他就给我这些文件,我也疑惑,因为另外一个前端同事做另外一个项目时,给的是纯静态的。数据通过接口取。

@hlwjia 我不懂前端这块这么高级的,我环境搭建好了,后端和 api 都在运行
DavidNineRoc
2018-03-19 12:38:47 +08:00
@banricho @MeteorCat @wellsc 他的数据的确都是通过我的接口取的

@8qwe24657913 我蒙蔽呀
@daydaydayup 短期是没这个打算,我只认为前端应该丢给我能直接运行的 build 好的能让浏览器直接运行的 html
@mritd 不敢不敢,我一个写 PHP 的,学多了消化不了,慢慢来

@jingniao 我对这些打包蒙蔽的很,电脑环境一个没装,让我装 node,yarn 什么的,我直接说,这些不是开发的时候用的吗?怎么还搞这些,他就说什么服务端渲染,我也不懂前端
murmur
2018-03-19 12:41:21 +08:00
你不专门做前端 不用羡慕这些 让他打好包把 bundle 给你就行
SourceMan
2018-03-19 12:41:26 +08:00
一看卵用 let 也不是啥“好前端”
Tokin
2018-03-19 12:43:10 +08:00
奇怪,既然都用 nodejs 了,为什么不用 nodejs 写 api 接口。。。都不需要你们后端什么事儿了,一个前端搞定所有。。。美滋滋
Eoss
2018-03-19 12:45:55 +08:00
@DavidNineRoc
1. 你贴的代码是 node 后端的代码,用了 express 框架。这部分确实需要服务器装 node 运行。
2. nginx 和 node 确实不是一回事,可以并存不冲突。
3. 他说用了服务端渲染,那么确实需要后端( node )代码支持。
4. 如果他用 node 只是用于服务端渲染,那么可以不使用服务端渲染,这样也可以不用 node。
5. 关于 build。一般 build 之后都可以在浏览器跑。如果在本地 build 再发布到服务器,那么不需要 node。如果在服务区 build,那么需要 node。
6. 你另一同事便是 5 的前者。
Eoss
2018-03-19 12:48:50 +08:00
@Eoss 补充,确实按楼上,建议楼主补充点前端的知识。
safedogcc
2018-03-19 12:52:27 +08:00
@DavidNineRoc #21
原来是服务端渲染~
那么就好办了,直接给服务器权限,让他自己上去部署吧,然后把本地监听的端口给你就行,你配置 nginx (或者让他自己弄)设置好域名,直接转发本地 nodejs 监听的端口即可。
ChefIsAwesome
2018-03-19 12:53:18 +08:00
他那么懂,让他教你啊。都搞服务器渲染了,这方面肯定比你熟。服务器给他,让他自己折腾。
DavidNineRoc
2018-03-19 12:53:23 +08:00
@murmur 我另外一个同时和我做项目的时候都是这样子的。

@SourceMan 我还处于用 var 的时代

@Tokin 我也不知道他为什么要用这个,直接安安静静的拿数据前端渲染不就行了

@Eoss thanks,前端这些框架的太繁琐,我安安静静的用 jq
abcbuzhiming
2018-03-19 12:54:41 +08:00
@daydaydayup 前端部署问题前端自己不搞定来找后端,这前端是怎么干活的
DavidNineRoc
2018-03-19 12:55:12 +08:00
@ChefIsAwesome
@safedogcc
下次,下次必须这样
DavidNineRoc
2018-03-19 12:56:19 +08:00
@abcbuzhiming 我在折腾服务器搞些东西,我以为他就是给我一些纯静态的(以前的前端通过和我合作都是这样的)。哪里知道这么高级:::
DT27
2018-03-19 12:56:46 +08:00
都是不安分惹的祸。
js 非要去搞后端。。。
vizards
2018-03-19 12:57:47 +08:00
这是弄的服务端渲染,你们前端用的 vue、react 或者 angular 之类的前端框架之类的话,是通过 js 渲染页面的,通俗讲就是浏览器加载 js 和 css,然后 js 负责生成 html 给用户看。


1.浏览器加载所有资源(html,css,js,img...)-->2.cdn-->3.返回资源-->4.前端请求 server 获取业务数据-->5.返回数据,js 渲染成 html 片段-->6.css 渲染片段成一个网页-->用户


但是这样带来的结果就是 4、5 步非常耗时,对数据比较复杂或者比较多的情况下,即使优化非常出色也需要 200 到 500ms 时间,而且在 js 完全加载之前用户看不到任何内容或者只能看到个加载中提示,体验很差。而且对前端生成 html 对非谷歌的搜索引擎 seo 不友好,它们可能不会解析 js 动态生成的内容。


加一层 node,就相当于在后台模拟一下浏览器,先把 html “快照”出来,直接递给前端,这样就解决上面的问题了。
eslizn
2018-03-19 12:57:56 +08:00
build 不累吗?现在绝大多数浏览器都是支持 gzip 的
vizards
2018-03-19 12:58:51 +08:00
app 端好像怎么弄回复都 tm 不能换行,lz 将就看吧...
abcbuzhiming
2018-03-19 12:59:08 +08:00
@DavidNineRoc 前端所谓的服务器渲染,不过是把后端早就玩烂的模板引擎换个名词罢了,还有,如果前端要玩这套东西,那麻烦前端自己搞定服务器部署问题,后端只提供 api 接口,也只负责 api 接口的数据正确性,数据正确了页面不对,前端自己想办法去,现在的不少前端完全就是在瞎搞,学了点名词就出来忽悠,硬要在数据接口和页面之间加一个 node 搞页面渲染层,你搞可以啊,自己部署搞定嘛,搞不定又来找后端

另外,什么扯淡的框架最后还是会变成 html+css 和 js,浏览器只认这些
chengxiao
2018-03-19 12:59:31 +08:00
服务端渲染 那不就跟后端写的东西 没区别了.....感觉他想代替你啊楼主 要小心了

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

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

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

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

© 2021 V2EX