Использование определений типов в приложении Angular2

Я новичок в машинописи и работаю над приложением Angular 2. Мне нужно получить доступ к некоторым js-библиотекам с определениями типов, доступными на странице CertainTyped. Я установил зависимости, используя типизацию. Но не могу понять, как получить к ним доступ в компонентах моего приложения.

В частности, скажем, я устанавливаю библиотеку angular-toastr:

npm install angular-toastr  --save
typings install angular-toastr  --ambient --save

Это устанавливает зависимость angular-toastr на /typings/main/ambient/angular-toastr/angular-toastr.d.ts

Затем я добавил ссылку на это в свой файл main.d.ts в папке /typings.

/// <reference path="main/ambient/angular-toastr/angular-toastr.d.ts" />

После этого я пытаюсь ссылаться на него непосредственно в своих компонентах, но не совсем понял, как это сделать.

Есть ли какие-либо другие шаги, которые я пропустил? И как мне импортировать его в компонент и использовать предоставленные методы?

Спасибо


person Inn0vative1    schedule 23.02.2016    source источник
comment
Вы сказали, что он установил его в main/typings/... но вы ссылаетесь на main/ambient/... Есть ли для этого причина?   -  person rgvassar    schedule 23.02.2016
comment
Плохо, я ввел неправильный путь в вопросе. Зависимость была установлена ​​в main/ambient/angular-toastr/angular-toastr.d.ts, и я правильно ссылался на нее в своем файле main.d.ts. Я отредактировал, чтобы исправить опечатку   -  person Inn0vative1    schedule 23.02.2016
comment
Какой редактор вы используете?   -  person rgvassar    schedule 23.02.2016
comment
Использование Atom с плагином atom-typescript   -  person Inn0vative1    schedule 23.02.2016
comment
У вас есть ссылка на пример проекта? Это может быть из-за вашего файла tsconfig.json.   -  person blakeembrey    schedule 24.02.2016
comment
Используя проект angular2-seed отсюда: github.com/mgechev/angular2-seed   -  person Inn0vative1    schedule 24.02.2016
comment
Это может быть что-то с вашим редактором. Не могли бы вы попробовать открыть его в Visual Studio Code, который имеет встроенную поддержку машинописи, и посмотреть, работает ли он там?   -  person rgvassar    schedule 24.02.2016
comment
Это не использует angular-toastr напрямую. Как вы импортируете модуль? Ссылки просто ссылаются на типы, но фактически ничего не импортируют. Вы делаете import toast = require('angular-toastr') или импортируете Angular?   -  person blakeembrey    schedule 25.02.2016


Ответы (1)


Я экспериментировал так же, и мне удалось добавить два файла определения типов и успешно их использовать. Итак, позвольте мне поделиться тем, что я сделал.

Шаг 1: Установите npm install typings --global Шаг 2: введите install dt~lodash --global --save или

используйте прямой путь от https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/lodash/index.d.ts

установить.

После установки нам нужно сослаться на базовый справочный файл в файл tsconfig.json.

введите здесь описание изображения

введите здесь описание изображения

"files": [
        "typings/index.d.ts"
    ]

Теперь мы можем начать использовать сторонние библиотеки, например:

import * as $ from 'jquery';
import * as _ from "lodash";

Добавьте в любой ts-файл, где нам нужно использовать функции библиотеки.

введите здесь описание изображения

И Результат,

введите здесь описание изображения

person Sanish Joseph    schedule 31.03.2017