如何在Node.js的Typescript中设置引用并将外部模块作为顶级对象导入

如何在Node.js的Typescript中设置引用并将外部模块作为顶级对象导入,node.js,typescript,Node.js,Typescript,这是一个Typescript文件结构和命名问题。我刚刚开始学习Typescript类和模块,我有一些关于如何跨多个文件构造模型逻辑的问题 假设我有一个用node.js编写的带有用户和照片模型的RESTAPI,它是一个简单的api,允许用户注册和上传照片 假设此文件结构: -app -models -user.js -photo.js -controller.js 在我的控制器中,在引用模型时使用引用路径声明还是使用外部模块更好?这是否与仅使用标准node.j

这是一个Typescript文件结构和命名问题。我刚刚开始学习Typescript类和模块,我有一些关于如何跨多个文件构造模型逻辑的问题

假设我有一个用node.js编写的带有用户和照片模型的RESTAPI,它是一个简单的api,允许用户注册和上传照片

假设此文件结构:

-app
   -models
      -user.js
      -photo.js
   -controller.js
  • 在我的控制器中,在引用模型时使用引用路径声明还是使用外部模块更好?这是否与仅使用标准node.js require语句重叠

  • 如果我使用import语句将模型作为外部模块加载,我是否可以更改下面的示例以将导出移到顶层,这样我就可以新建一个User()而不是models.User()

  • 例如,模型和anotherModel似乎有点多余——我不想将所有模型合并到一个文件中

    controller.js

    import models = require('./models/user');
    import anotherModel = require('./models/photo');
    var newUser = new models.User();
    var newMoment = new anotherModel.Moment();
    
    user.js

    export class User {
      name:string
    }
    
    photo.js

    export class Photo {
      url:string
    }
    

    您可以创建
    model/index.ts
    并从该文件重新导出所有模型,以便于使用。这是传统的node.js范例。

    我可以看到一个示例或某个文档的链接吗?