尽管 JavaScript 及其许多库(jQuery、RequireJS)允许创建许多出色的网站,但在考虑构建更大的网站时,我发现它缺乏类型安全性令人生畏。
Google 有一个很棒的闭包编译器,它允许您使用 JSDoc注释您的 JavaScript 并对其进行类型检查。在尝试了其丰富的类型系统后,我希望这将极大地提高寿命较长的 JavaScript 项目的可维护性。
唯一的问题是它不能很好地与RequireJS 等AMD库配合使用。有一个实验性的--transform_amd_modules标志可以连接您的 JavaScript 文件并通过消除它来处理范围。然而,这似乎有点反模式,消除了 RequireJS 的大部分好处(但保留了模块化文件结构)。还有一个问题是未来将获得多少支持
最终目标是类型安全,而不是以 RequireJS 的好处为代价,我最好的选择是什么?
PS:虽然我使用 RequireJS 作为 AMD 库的选择,但我不会反对使用不同 AMD 库的解决方案。