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

How to set up references and import external modules as top-level objects in Typescript in Node.js

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

说我有一个小休息 api 写在 node.js 与用户和照片模型,这是一个简单的 api 让用户注册和上传照片。

假设这个文件结构:

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

  2. 如果我使用 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 范例。