我即将开始一个具有相当大代码库的 Node.js 项目。我宁愿将我的代码与node_modules
.
理想情况下,我希望使用命名空间和文件夹,因为我认为这将是管理事物的好方法。但是,假设我已正确阅读,这意味着我必须使用文件路径导入我需要的任何文件/“类”,这将非常混乱且难以管理。
为 Node.js 项目管理大量代码的实际方法是什么?
我即将开始一个具有相当大代码库的 Node.js 项目。我宁愿将我的代码与node_modules
.
理想情况下,我希望使用命名空间和文件夹,因为我认为这将是管理事物的好方法。但是,假设我已正确阅读,这意味着我必须使用文件路径导入我需要的任何文件/“类”,这将非常混乱且难以管理。
为 Node.js 项目管理大量代码的实际方法是什么?
我的建议是使用静态类型语言,因为它们提供有助于管理大型代码库的自动功能。例如,可以是 dart、typescript 或 coffeescript,它们都能够生成 javascript。
这篇文章很好地解释了好处(特别是与 JS 相比): http ://arstechnica.com/information-technology/2014/06/why-do-dynamic-languages-make-it-difficult-to-maintain-large-codebases /
链接文章中陈述的一些主要问题:
没有模块化系统;没有类、接口甚至命名空间。这些元素使用其他语言来帮助组织大型代码库。
继承系统——原型继承——既薄弱又难以理解。如何在开箱即用的情况下正确构建深层层次结构的原型(船长是一种海盗,海盗是一种人,人是一种事物......),这绝不是显而易见的JavaScript。
没有任何封装;每个对象的每个属性都由 for-in 构造产生,并且可以由程序的任何部分随意修改。
无法注释任何存储限制;任何变量都可以保存任何值。
如果您从 JS 开始并且不想放弃当前的代码库,则可以切换到 typescript。在我的 JS 项目达到 5000 行代码(大约 15 个文件)之前不久,我将其移至 typescript。我花了大约 4 个小时才让它恢复运行。
这篇文章提供了一些将 Node.js 移动到 typescript 环境的见解:http: //tech.kinja.com/my-experience-with-typescript-710191610