Я начал работу над крупномасштабным проектом машинописного текста.
С самого начала я хочу, чтобы мои файлы были организованы (этот проект будет разделен между множеством разработчиков, поэтому порядок очень необходим).
Я пытался использовать модули/пространства имен и разбивать классы на отдельные файлы для каждого из них с папкой, содержащей пространство имен.
Структура файла:
app.ts
\Classes
---- \Animals
---- ---- Mammals.ts
---- ---- Reptiles.ts
Затем я пытаюсь импортировать все файлы в это пространство имен в app.ts, используя что-то вроде: import * as Animals from "./Classes/Animals"
Что касается самих файлов пространства имен, я безуспешно пробовал следующее:
namespace Animals {
export class Mammals {
constructor() {
}
}
}
а также:
module Animals {
export class Reptiles {
constructor() {
}
}
}
К сожалению, путь никогда не распознается (поскольку он указывает на папку, а не на отдельный файл). Это вообще возможно? Наличие всех моих классов из одного пространства имен в одном файле приведет к тому, что файлы будут состоять из тысяч строк, и для этого проекта это невозможно поддерживать.
Я также заметил, что TypeScript 1.5 поддерживает tsconfig.json — однако необходимость вручную добавлять каждый файл на карту — это верный способ создать проблемы, когда разработчики начинают добавлять классы.
ПРИМЕЧАНИЕ. Я использую Visual Studio 2015, TypeScript 1.5 (кажется, не знаю, как проверить). У меня также включена поддержка ES6.