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

时间:2015-05-14 21:18:03

标签: node.js typescript

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

假设我在node.js中使用User和Photo模型编写了一个小的api api,它是一个简单的api,可以让用户注册和上传照片。

假设这个文件结构:

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

  2. 如果我使用import语句将模型加载为外部模块,我是否可以更改以下示例以将导出移动到顶层,以便我可以只创建User()而不是模型。用户()。

  3. 例如,模型和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
    }
    

1 个答案:

答案 0 :(得分:0)

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