кодесурса
«Угловое

Конфигурация TypeScript

script1adsense2code
script1adsense3code

TypeScript является основным языком для разработки приложений Angular. Это расширенный набор JavaScript с поддержкой времени разработки для обеспечения безопасности типов и инструментов.

Браузеры не могут выполнять TypeScript напрямую. Typescript должен быть «перенесен» в JavaScript с помощью компилятора tsc, что требует некоторой настройки.

В этом руководстве рассматриваются некоторые аспекты конфигурации TypeScript и среды TypeScript, которые важны для разработчиков Angular, включая сведения о следующих файлах:

  • Конфигурация компилятора tsconfig.json-TypeScript.
  • файлы объявлений typings-TypesScript.

tsconfig.json

Как правило, вы добавляете файл конфигурации TypeScript с именем tsconfig.json в ваш проект, чтобы он помог компилятору генерировать файлы JavaScript.

Руководство по установке использует следующий файл tsconfig.json:

```
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es2015", "dom" ],
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  }
}
```

Этот файл содержит параметры и флаги, которые необходимы для приложений Angular.

noImplicitAny и suppressImplicitAnyIndexErrors

Разработчики TypeScript не согласны с тем, должен ли флаг noImplicitAny быть истинным или ложным. Там нет правильного ответа, и вы можете изменить флаг позже. Но ваш выбор теперь может иметь значение в более крупных проектах, поэтому он заслуживает обсуждения.

Когда флаг noImplicitAny имеет значение false (по умолчанию), и если компилятор не может определить тип переменной в зависимости от того, как он используется, компилятор по умолчанию использует любой тип по умолчанию. Вот что подразумевается под неявным любым.

Настройка документации устанавливает для флага noImplicitAny значение true. Когда флаг noImplicitAny имеет значение true и компилятор TypeScript не может определить тип, он все равно генерирует файлы JavaScript, но также сообщает об ошибке. Многие опытные разработчики предпочитают эту более строгую настройку, потому что проверка типов обнаруживает больше непреднамеренных ошибок во время компиляции.

Вы можете установить любой тип переменной, даже если флаг noImplicitAny имеет значение true.

Когда флаг noImplicitAny имеет значение true, вы также можете получить неявные ошибки индекса. Большинство разработчиков считают, что эта ошибка скорее раздражает, чем помогает. Вы можете подавить их с помощью следующего дополнительного флага:

``` "suppressImplicitAnyIndexErrors":true ```

Настройка документации также устанавливает этот флаг в true.

TypeScript Typings

Многие библиотеки JavaScript, такие как jQuery, библиотека тестирования Jasmine и Angular, расширяют среду JavaScript функциями и синтаксисом, которые компилятор TypeScript не распознает изначально. Когда компилятор не распознает что-либо, он выдает ошибку.

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

Редакторы, поддерживающие TypeScript, используют эти же файлы определений для отображения информации о типах функций библиотеки.

Многие библиотеки включают файлы определений в свои пакеты npm, где их могут найти как компилятор TypeScript, так и редакторы. Angular - одна из таких библиотек. Папка node_modules / @ angular / core / любого приложения Angular содержит несколько файлов d.ts, которые описывают части Angular.

Вам ничего не нужно делать, чтобы получить файлы наборов для библиотечных пакетов, которые содержат файлы d.ts. Угловые пакеты уже включают их.

lib.d.ts

TypeScript включает в себя специальный файл объявлений с именем lib.d.ts. Этот файл содержит объявления окружения для различных общих конструкций JavaScript, присутствующих во время выполнения JavaScript и DOM.

На основе --target TypeScript добавляет дополнительные окружающие объявления, такие как Promise, если целью является es6.

Поскольку QuickStart нацелен на es5, вы можете переопределить список файлов объявлений, которые должны быть включены:

"lib": ["es2015", "dom"]

Благодаря этому у вас есть все наборы es6, даже когда вы нацелены на es5.

Устанавливаемые файлы набора текста

Многие библиотеки jQuery, Jasmine и Lodash среди них не включают файлы d.ts в свои пакеты npm. К счастью, либо их авторы, либо участники сообщества создали отдельные файлы d.ts для этих библиотек и опубликовали их в известных местах.

Вы можете установить эти наборы через npm, используя пакет @ types / * scoped, а Typescript, начиная с 2.0, автоматически распознает их.

Например, чтобы установить типизацию для jasmine, вы можете выполнить npm install @ types / jasmine --save-dev.

QuickStart идентифицирует файлы двух типов или d.ts:

  • Жасмин печатает для тестовой среды Жасмин.
  • узел для кода, который ссылается на объекты в среде Node.js®;

QuickStart не требует этих наборов, но многие из примеров делают.

цель

По умолчанию целью является es5, вы можете настроить цель на es6, если хотите развернуть приложение только в браузере, совместимом с es6. Но если вы настроите цель для es6 в каком-то старом браузере, таком как IE, будет выдана ошибка синтаксиса.

Предыдущий: Конфигурация углового рабочего пространства
Далее: Workspace npm зависимости

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code