Какова связь между tsconfig.json и gulp.js ?

#javascript #typescript #gulp #asp.net-core #tsconfig

#javascript #typescript #глоток #asp.net-core #tsconfig

Вопрос:

У меня есть ASP.NET Core веб-приложение, и у меня есть некоторая путаница в отношении взаимосвязи между TypeScript обязанностями между tsconfig.json и gulp.js . Насколько я понимаю, функциональность, похоже, перекрывается. Например, у меня могут быть следующие tsconfig.json настройки:

 "compilerOptions": {
    "compileOnSave": true,
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5"
}
  

Как вы видите, я могу указать значение compileOnSave по умолчанию true , как указано в документации и обсуждается здесь . Я могу установить это значение false , а затем использовать gulp.js для выпуска build, uglify, concat, sourcemaps и т. Д. Однако tsconfig.json файл также предлагает аналогичную функциональность, но мне кажется, что это подмножество того, что gulp позволяет.

Я не уверен, где провести черту как VS.NET пользователь. Должен ли я разрешить tsconfig.json компиляцию my .ts. to .js , а затем разрешить gulp.js выполнение всех других требований, таких как копирование файлов, объединение, уродство и т. Д.?

Мне кажется, что существует избыточная функциональность, и я запутываюсь в отношении взаимосвязи и того, как управлять обязанностями обоих файлов. Это произошло потому, что мне нужны файлы исходных карт для моего .ts отладчика, и я не уверен, какой файл должен отвечать.

Может кто-нибудь помочь мне прояснить взаимосвязь между этими файлами и когда использовать в связи с моим вопросом?

Ответ №1:

Короткий ответ: делайте то, что работает для вас, если вам нравится, когда ваш .ts файл компилируется по ходу работы, тогда делайте это иначе.

Мое личное мнение состояло бы в том, чтобы не компилировать ваш .ts файл as you go и настроить задачу gulp для переноса как часть вашего asset building (т. Е. transpile sass, minifiy). Я рассуждаю так .js : файлы генерируются и, следовательно, могут быть воссозданы «на лету» как часть конвейера сборки и их не нужно включать в ваше решение.

Комментарии:

1. Если я пойду по этому пути, означает ли это tsconfig.json , что это даже не требуется, и все можно сделать с помощью задач в gulp ?

2. @atconway Я не очень хорошо знаком со всеми параметрами, .tsconfig однако, если единственные установленные вами параметры связаны с компиляцией и созданием исходной карты, я бы сказал, да.