为什么不把后端也交给 webpack?

2018-08-04 23:13:02 +08:00
 Cbdy

根据 Atwood 定律,大部分后端场景迟早也是 js 的天下。众所周知,ts 写起来是很爽的,所以如果前后端都是用 ts 写(比如前端 react+tsx,后端 koa ),一个普通的 webapp,完全可以前后端都通过 webpack 编译运行,开发的时候也可以只用一个类似 webpack-serve 这样的工具,代替原先的前后端两套开发架子(比如前端 webpack-serve,后端 nodemon )。

这样在同一个代码仓库开发,一个功能从前写到后,同一套数据结构从前用到后,岂不是效率很高?

16325 次点击
所在节点    Node.js
73 条回复
jrtzxh020
2018-08-05 11:40:28 +08:00
ssr 了解一下。。
deepkolos
2018-08-05 11:48:14 +08:00
目测前后端对接接口会十分方便
YenvY
2018-08-05 12:18:33 +08:00
这帖子画风跟那个前端算程序员吗的贴子完全不一样嘛

暴躁后端只在这里出现吗
jiyinyiyong
2018-08-05 12:45:02 +08:00
前面有人在提 WebAssembly, 我想了下大概还真的可能以后基于 Node API 开发后端要用 Webpack.

现在我们用 Node.js 开发直接发布源码, 原因在于 JavaScript 是动态语言, 而且我们不像一些苛刻的场景那样要求在服务端运行时候快速启动. 如果说这些条件改变了呢, 后端代码借助 WebAssembly 做多语言的混合开发了, 代码部署的时候为了安全或者为了快速启动不建议分发源码, 而是基于二进制的 WASM 文件?

按这样想, 以后用 Webpack 建构后端代码很正常的事情, 就像 Java 程序编译上线不是很正常嘛. 当然这种事情不是一天两天的.

至于说复用代码, 编译发布到服务器. 我现在用 ClojureScript 开发就是这样, 一套代码全都是 ClojureScript 前端浏览器, 后端 Node.js , 其中的 ClojureScript 部分完全可以复用的. 完成之后通过 shadow-cljs 分别给前端后端代码打包, 上传到 CDN 和服务器上更新服务. 阅读代码 https://github.com/Cumulo/cumulo-workflow .

至于标题的为什么现在不搞? 目前基于 JavaScript 开发的话没有切实的需求啊, 大家都不想把事情搞复杂, 直接上传整个项目, 直接整个重启, 不觉得有问题, 当然是怎么维护简单怎么来的.

你可以把我的 ClojureScript 项目跑起来看看, 因为 ClojureScript 语言的设计, 在开发环境和在生成环境, 由于开发环境代码包含标准库, 还有一些高阶的抽象, 实际上性能是有折扣的, 所以就需要建构过程同时做一些优化. 不过由于我的项目太小, 实际上也看不明显区别.
zhzer
2018-08-05 14:29:51 +08:00
要打包就打包啊,后端又不要你编译啥,要一起打包不就一行代码的事?
sagaxu
2018-08-05 14:31:02 +08:00
因为后端不需要 js
revol
2018-08-05 14:46:01 +08:00
其实后端(些其他语言的)根本看不起 JS 和 JS 的工具链好吧。。。连自举都做不到,别的就不谈了
jiyinyiyong
2018-08-05 14:58:53 +08:00
@kevinhwang 帽子扣大了. 残废在哪倒是说说看
jiyinyiyong
2018-08-05 15:00:34 +08:00
@revol 单纯说自举, JavaScript 明明是能做到的 https://github.com/jterrace/js.js
Rorysky
2018-08-05 15:15:43 +08:00
@janxin #33 让我们原谅 lz 的 naive
fulvaz
2018-08-05 15:24:11 +08:00
除了 ts->js 外, 其实没啥必要呀, 如果只是为了这个, github 上全是 boilerplate

webpack 本质是对模块进行处理的工具, 但是 node 自带模块化.

你说 ESModule 的话, 我理解可能比较肤浅, 我的理解是 ESM 最大的作用是结合 TreeShake 去除没使用的依赖, 对后端来说不存在包大小的问题.

----

语言根本就不是个问题, 框架也是, 语言和框架脱离场景都是耍流氓, 咋搞得十字军东征一样乌烟瘴气.
guolaopi
2018-08-05 16:19:06 +08:00
日常撕。。。
PHP:别说了 JS 是世界上最好的语言
glues
2018-08-05 16:21:20 +08:00
前端造了这么多轮子,对于 99% 的项目来说,并没有比当年 jQuery 提高多少开发效率
KuroNekoFan
2018-08-05 17:27:50 +08:00
看来国内做“纯后端”的开发者真的很看不起 js ……话说很好奇国外 nodejs 应用场景多不多呢,看到文章讲还是很广泛的
hl
2018-08-05 18:12:17 +08:00
你还想干啥 😂😂😂
pony279
2018-08-05 18:47:17 +08:00
如果你真以为后端开发面临的主要困难是编程语言门槛的话

可以马上开始自己造轮子啊,当下可是千载难逢的好机会
CasualYours
2018-08-05 18:51:43 +08:00
给我们留口饭吃吧。
Phariel
2018-08-05 18:54:15 +08:00
大部分后端场景迟早也是 js 的天下

高级黑?
murmur
2018-08-05 19:16:55 +08:00
楼主是认为后端 webpack 能解决你产品的加密问题么
zhangyu911013
2018-08-05 19:17:13 +08:00
wepack 主要是打包工具,后端不用打包,而且现在 node 用 weback 有很多坑,踩过一些

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

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

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

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

© 2021 V2EX