Typescript: пропущено ключевое слово «export», чтобы сделать интерфейс глобальным? - PullRequest
0 голосов
/ 04 июля 2018

Недавно у меня была следующая ситуация в VSCode в проекте машинописного текста:

файл: some-interface.ts

// no import statements have been skipped. This is the whole file:
export interface SomeInterface {
    property: AnotherInterface;         
}

и файл: another-interface.ts:

export interface AnotherInterface {
    // ...
}

Хорошо - поскольку в коде some-interface.ts VS нет оператора import, я обнаружил ошибку, что тип AnotherInterface не может быть найден. Конечно, это ожидаемое поведение. Но как только я случайно удалил ключевое слово export из another-interface.ts - код VS перестал жаловаться и смог правильно определить тип.

Так кто-нибудь знает, что здесь происходит? Это ожидаемое поведение или скорее ошибка машинописного текста или кода?

1 Ответ

0 голосов
/ 04 июля 2018

Так кто-нибудь знает, что здесь происходит? Это ожидаемое поведение или, скорее, ошибка в машинописи или против кода?

Это ожидаемое поведение. Если в файле нет ни export, ни import, то вместо модуля это скрипт . Затем в сценарии все члены являются глобальными.

См. Также: Классические скрипты v / s скрипты модуля в Javascript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...