Requirejs typescript-250.ts文件-require(),//引用、模块等

Requirejs typescript-250.ts文件-require(),//引用、模块等,requirejs,typescript,Requirejs,Typescript,我们正在创建一个typescript应用程序,将有大约250个类。我们来自C#world,为每个类创建一个.ts文件。这感觉很合适,因为每个类/文件将有20到500行代码。它可以保持对象方向的整洁 这就引出了几个问题 我们应该为每个.ts文件、每个文件夹或每个 项目(文件夹及其所有子文件夹) 当一个类依赖于其他类时,我们是否应该将该.ts文件包装成一个(我们使用require.js)文件来表示依赖关系?或者我们应该在root.js文件(列出所有250多个文件)中有一个巨大的需求吗?还是我们应该使

我们正在创建一个typescript应用程序,将有大约250个类。我们来自C#world,为每个类创建一个.ts文件。这感觉很合适,因为每个类/文件将有20到500行代码。它可以保持对象方向的整洁

这就引出了几个问题

  • 我们应该为每个.ts文件、每个文件夹或每个 项目(文件夹及其所有子文件夹)
  • 当一个类依赖于其他类时,我们是否应该将该.ts文件包装成一个(我们使用require.js)文件来表示依赖关系?或者我们应该在root.js文件(列出所有250多个文件)中有一个巨大的需求吗?还是我们应该使用另一种方法
  • 我们必须输入大量的///语句。有没有一种方法可以实现全球化?还是一种将通配符放入其中的方法,以便我们可以对文件夹中的所有.ts文件进行一次引用调用
  • 对于这么大的项目,我们应该做什么,不应该做什么,还有其他建议吗
  • 更新:这适用于将在浏览器中运行的客户端应用程序。我们目前正在使用requirejs。这是很多代码,但所有的代码都需要在浏览器中(迟早)

    我希望它在编码时能够快速/易于运行/调试,然后,可能以不同的方式构建它,让它能够快速/小型地上传。我们中的一半在WebStorm中开发,另一半在VisualStudio中开发

    每个.ts文件是否应该有一个唯一的模块名

    是,请使用amd/commonjs:

    每个文件夹

    是创建一个从文件夹导出所有内容的
    index.js

    当一个类依赖于其他类时,我们是否应该将该.ts文件包装在依赖项的require/define(我们使用require.js)中

    否。在TypeScript中使用内置的
    import
    语句

    我们必须输入大量的///语句。有没有一种方法可以实现全球化

    是查看
    参考文件

    对于这么大的项目,我们应该做什么,不应该做什么,还有其他建议吗


    尽可能多地依赖TypeScript,然后在出现一个模式时重构到另一个模式不会太难(你应该会遇到编译错误)

    我认为他没有提供足够的信息来形成正确的答案。它甚至没有用浏览器或节点标记。模块的命名方式在很大程度上取决于团队和其他组织的决策。文件夹有时构成逻辑组。我认为他没有提供足够的信息来形成一个正确的答案。。。但是我尽了最大的努力-谢谢你,这很有帮助。我们使用的是requireJS。我想您应该在上面说每个文件的第一个唯一模块名,然后是每个文件夹的唯一模块名。我不明白吗?在包含文件夹中所有内容的index.js上,这只是为了加快加载速度吗?因为(我认为)每次构建调试时都会添加一个步骤。谢谢你的视频,“使用导入”和咕哝建议-这些都很有帮助。@WiredPairie我添加了一个更新,我认为它回答了你的问题。我意识到这有点笼统,但我们正在通过这个项目学习javascript/typescript,所以我们不知道应该在这样的问题中列出什么。代码是现有代码库(Java)的副本,因此我们遵循目前的结构/文件夹/类。在RequireJS中,模块只加载到内存中一次。使用index.js的原因是,如果您需要,可以更轻松地导入文件夹中的所有内容,例如,文件夹中的三件东西。我认为您的问题过于宽泛和主观。虽然有一些指导原则,但许多答案实际上取决于结果代码的使用方式。我不会将每个TS类拆分为单独的文件,尤其是20行代码的文件。您失去了一些功能,例如能够利用模块中形成的自然闭包。您可以看看这个BUILD 2014视频。前7分钟是可以跳过的。@wiredparie这个视频是这个问题的一个很好的答案-谢谢!!!