前面有人在提 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 语言的设计, 在开发环境和在生成环境, 由于开发环境代码包含标准库, 还有一些高阶的抽象, 实际上性能是有折扣的, 所以就需要建构过程同时做一些优化. 不过由于我的项目太小, 实际上也看不明显区别.