По мере роста вашего приложения Typescript будет занимать все больше и больше времени для проверки типов и компиляции вашего кода. При большой кодовой базе медленное время компиляции может серьезно замедлить вашу разработку. Чтобы преодолеть это, начиная с Typescript 3.0, вы можете разделить большой проект на более мелкие подпроекты, используя Ссылки на проекты. Параметры declaration
и declarationMap
играют здесь большую роль.
declaration
вариант
Включение параметра declaration
приведет к тому, что компилятор Typescript создаст файлы объявлений (.d.ts
). Файлы .d.ts
содержат объявления типов, используемых в соответствующих файлах .ts
. Они не содержат реализации типов, они просто содержат общедоступные объявления типов.
Таким образом, любой может использовать типы из вашего проекта Typescript в каком-либо другом проекте Typescript. Компилятор может проверить тип кода в этом другом проекте с помощью ваших .d.ts
файлов, даже если у них нет доступа к вашему проекту.
Это то, что помогает, когда вы разбиваете большой проект на несколько небольших подпроектов. Подпроекты имеют доступ к файлам объявлений друг друга. Когда один из ваших подпроектов (скажем, B) зависит от типов, объявленных в другом подпроекте (скажем, A), компилятор использует файлы .d.ts
из подпроекта A для проверки типов и компиляции подпроекта B без необходимость повторной компиляции подпроекта А. Это приводит к более быстрому времени компиляции в больших проектах.
declarationMap
вариант
Когда вы включаете параметр declarationMap
, компилятор Typescript создает файлы исходной карты объявления (.d.ts.map
). Файлы исходных карт объявлений содержат определения сопоставления, которые связывают каждое объявление типа, сгенерированное в .d.ts
файлах, с исходным исходным файлом (.ts
). Определения сопоставления в этих файлах имеют формат JSON.
Они используются вашим редактором/IDE. Вы сможете использовать функции редактора, такие как «Перейти к определению» и «Переименовать», для навигации и редактирования кода в подпроектах. Это означает, например, что если вы переименуете тип в одном подпроекте, это изменение будет распространено и на другие подпроекты.
Обратите внимание, что вы можете использовать эти параметры, даже если вы не разделяете свой проект. Это полезно, если вы хотите иметь функцию редактора «Перейти к определению» для .d.ts
файлов. Если вы нажмете «Перейти к определению» в объявлении из файла .d.ts
, вы перейдете к местоположению исходного файла (.ts
), а не к местоположению .d.ts
. Но эти опции действительно хороши в разделенных проектах.
Вот и все! Надеюсь, это поможет.
Если у вас есть проект с более чем 150 файлами или около того, рекомендуется разделить его на более мелкие подпроекты, используя ссылку Ссылки на проекты.
person
Yogesh Umesh Vaity
schedule
28.07.2020