其实吧,总结一下就是:前端的课还没补完。
----
对比一下 C++
上古时代的 C/C++ 也是很麻烦的。从单文件的 compiler / loader,进化到 make + Makefile,进化到 autoconf / automake,再进化到 CMake 之类的。CMake 几乎已成为事实上比较通用的 C++ 构建工具了,但是还没有完全统治地位。当年 boost 有自己的 bjam,Google 有自己的 bazel,等等不一而足。
到目前为止裸 CMake 配起来也挺麻烦的。不过
conan.io 之类的基于 CMake 的包管理器进一步简化了配置,基本上标准系统上零配置就能用 conan + CMake 拉一堆 C++ 的库开始撸代码。
----
对比一下 Java / PHP / C#,无一不是有这个过程。Java 的 Maven,PHP 的 Composer,C# 的 Nuget,一开始也都是没有的。只不过 Java / PHP / C# 相对更容易统一环境,所以它们走的比 C++ 远。
前端现阶段不好用,只不过是因为太新了所以没有角逐出统一的工具链而已。