2015-07-22 3 views
6

У меня есть несколько интерфейсов, которые я использую во всем проекте структурированного машиностроения CommonJS. Я хотел бы создать глобальный файл под названием «interfaces.ts» ... Вместо того, чтобы импортировать интерфейс или добавлять ссылку в каждый файл .ts (шаблонный), существует ли способ объявить глобально его, возможно, в tsconfig .json файл?Как добавить пользовательские глобальные интерфейсы TypeScript

Я знаю, что существует глобальный файл определения lib.d.ts, который является в основном глобально объявленными интерфейсами. Я понимаю, что могу, возможно, изменить этот файл, но искал лучший способ (абстракция).

Редактировать: Я должен, вероятно, отметить, что в настоящее время я использую код Visual Studio.

ответ

3

Вот так tsconfig.json работает по умолчанию. Создайте tsconfig.json в корне вашего проекта без свойства «файлы». Возможно, вам придется перезапустить код VS, чтобы он распознал tsconfig.json.

Если в файле tsconfig.json отсутствует свойство «files», то по умолчанию компилятор включает все файлы, содержащие каталог и подкаталоги. Когда указано свойство «files», включаются только те файлы.

https://github.com/Microsoft/TypeScript/pull/1692

+0

Ahh Я вижу ... все, что мне нужно было сделать, это удалить «экспорт» при определении интерфейса, и теперь VSCode видит его глобальным. Благодарю. – wayofthefuture

0

. Я понимаю, что могу, возможно, изменить этот файл, но искал лучший способ (абстракция)

У вас есть файл под названием globals.d.ts. Этот шаблон документирован здесь: http://basarat.gitbooks.io/typescript/content/docs/project/globals.html

+0

Я прочитал вашу книгу за последние 3 дня! Очень впечатляюще! Я также читал о вашем проекте Collections Collection (не могу найти онлайн-документы). Является ли имя «global.d.ts» особенным для TypeScript? Есть ли разница, чем использование интерфейсов.d.ts? Спасибо – wayofthefuture

+0

Нет ничего особенного в названии. Просто соглашение – basarat

+12

Я заметил, что вы не задокументируете, как активно подключиться в определяемом пользователем файле global.d.ts. Не могли бы вы рассказать? – icfantv