Почему определения пользовательских типов typescript включены в этот проект?

Я изучал этот проект angular 2 и не понимаю, как src/custom-typings.d.ts включается ? Этот файл содержит определения пользовательских типов typescript. import src/custom-typings.d.ts в исходниках нет. Я могу переименовать этот файл как угодно, я могу поместить этот файл в любой каталог, и этот файл все равно будет включен. Даже если я изменю расширение на *.ts (не *.d.ts), оно будет включено.

Я думаю, что из-за этого моя IDE тормозит. Как отключить автопоиск определений типов во всех *.ts файлах проекта? Я хочу включить этот файл вручную


person Ildar    schedule 10.07.2016    source источник


Ответы (2)


Кажется, он загружен веб-пакетом: https://github.com/AngularClass/angular2-webpack-starter/blob/8e93ae998e76efbd7166e0b0c531396098bd4e34/config/webpack.common.js#L137, которые ищут все .*.ts файлы, кроме .spec.ts и .e2e.ts

Если вы не хотите, чтобы он загружался веб-пакетом, вы также можете исключить расширение .d.ts в загрузчике и добавить /// <reference path="../path_to/custom-typings.d.ts" /> в файлы, где вам нужны эти пользовательские типы.

person jobou    schedule 10.07.2016

Когда вы пишете import {} from 'fileName', он автоматически ищет fileName.d.ts. в этих файлах есть только объявление функции и переменной (с указанием их типа), а не сами функции, поэтому он все еще работает - сгенерированный файл js все еще существует.

И по второму вопросу - вы не упомянули, какая у вас IDE. поэтому я не могу вам ответить. Я не понял, что вы упоминаете в определениях типов во всех файлах *.ts... если вы не хотите работать с аннотациями типов, не используйте машинопись. и просматривается только тип функции, над которой вы работаете (и импортируете)

person netneta    schedule 10.07.2016
comment
Добро пожаловать в SO :) Вы должны прокомментировать вопрос, если вам нужна дополнительная информация для завершения ответа, а не комментировать свой ответ. - person Ivan Gabriele; 10.07.2016
comment
Я не могу комментировать, недостаточно репо. и я попытался дать ответ без всей необходимой информации - person netneta; 10.07.2016
comment
Я не написал «импорт {} из пользовательских наборов», но этот файл включен. Если я переименую этот файл, то этот файл тоже будет включен. Вот почему я думаю, что все файлы *.ts сканируются на наличие определений типов. - person Ildar; 10.07.2016