2015-02-13 3 views
1

Я впервые пытаюсь использовать TypeScript, и я загрузил пакет angularjs.TypeScript.DefinitelyTyped из nuget, но я не могу сгенерировать файлы JavaScript из него.Невозможно скомпилировать .d.ts Файлы TypeScript в Visual Studio 2013

Я пробовал удалить файл, создав новый файл TypeScript (так называемый angular.ts), и это генерирует JavaScript абсолютно точно с тем же кодом. Я мог бы сохранить этот файл и сделать то же самое с другими, но мне кажется, что я должен скомпилировать эти файлы.

Я также посмотрел в свойствах моего проекта и под машинопись Строить я следующие опции активированными:

  1. версия ECMAScript: ECMAScript 5
  2. Compile на Save
  3. Разрешить неявное «любой "типы
  4. системы
  5. модуль: нет
  6. Keep комментарии в выходной JavaScript
  7. Генерирование источник карты

У меня нет никаких ошибок при создании моего проекта и всех других файлов .ts, которые я добавил, все сгенерировали файлы JavaScript без проблем. Я посмотрел, действительно ли это известная проблема с Visual Studio, но я не могу найти много об этом. Есть ли настройка для этого или должна ли она произойти автоматически?

ответ

1

Извините, если я неправильно понял вопрос, но вы не можете скомпилировать d.ts файлов. Когда вы видите файл d.ts, вы можете представить его как интерфейс для проекта, который не был написан в TypeScript.

Например, я использую движок игры phaser. Так что, как и все остальные, я иду и получаю файл phaser.js. На этом этапе мой TypeScript не может понять этот файл phaser.js. Итак, я иду и хватаю файл phaser.d.ts, и это тот, который содержит полный API phaser.js.

В основном файлы .ts всегда будут скомпилированы для работы с JavaScript, тогда как .d.ts являются файлами определения, предоставляющими мост для использования файла .js!

+0

А я не понял этого. Итак, вы должны иметь нормальный .js-файл библиотеки (например, jquery.min.js), а также файл .d.ts? – Serberuss

+0

Да! В точку. Когда вы используете библиотеку, которая является сырым JavaScript в проекте. Первое, что вы хотите сделать, это пойти и найти для него файл 'd.ts'. Подумайте об этих файлах как о помощниках для вашего процесса разработки. Они никогда не публикуются, и у них никогда не было реализации. Они существуют для устранения разрыва между существующими библиотеками и машинописными текстами. – Clark

+1

Спасибо за вашу помощь теперь имеет смысл – Serberuss

1

Мы используем машинописную запись с Visual Studio в нашем приложении, но у нас также возникли проблемы при попытке принудить VS 2013 скомпилировать TypeScript к JavaScript. Мы отказались от Grunt plugin и больше не полагаемся на VS. Я предлагаю вам сделать то же самое. Одно предостережение: не используйте watch в машинописном задании Grunt. Он будет запускать VS в бесконечный цикл, когда вы будете строить свой проект. Вместо этого, когда вы применяете изменения в своих .ts-файлах, перейдите в командную строку и запустите задачу grunt для компиляции ts-> js.

+0

TypeScript, по-видимому, полностью интегрирован в VS 2013, поэтому кажется странным, что возникает такая проблема. Спасибо за ссылку – Serberuss

Смежные вопросы