Как использовать библиотеку underscore.js в angular 2
Я пытаюсь создать приложение с angular 2 и хочу использовать библиотеку underscore.js в моих .ts файлах, например, когда я хочу использовать эту функцию:
let myId = _.rest([5, 4, 3, 2, 1]);
_
не определяет и бросает ошибку, и я не хочу использовать declare var _ : any;
в своем модуле
Ответы
Ответ 1
Вам нужно добавить TypeScript Определения для Underscore:
tsd установить подчеркивание
Настроить SystemJS
System.config({
[...]
paths: {
underscore: './node_modules/underscore/underscore.js'
}
});
Наконец, импортируйте модуль
import * as _ from 'underscore';
Ответ 2
Для проекта, основанного на https://cli.angular.io, мне нужно было сделать следующее:
1) Импортировать библиотеки
npm install underscore --save
npm install @types/underscore --save
2) в tsconfig.app.json, добавьте подчеркивание к массиву 'types':
"types": [
"underscore"
]
3) В любом файле компонента мне нужно использовать подчеркивание, я добавляю этот
import * as _ from 'underscore';
4), то я могу использовать:
console.log('now: ', _.now());
и все функции http://underscorejs.org
Ответ 3
Для проекта, основанного на angular2-seed, мне нужно:
-
Установите пакет подчеркивания:
npm install underscore --save
-
Добавьте к typings.json следующее: globaldependencies:
"underscore": "github:DefinitelyTyped/DefinitelyTyped/underscore",
-
Добавьте в проект project.config.ts следующее:
this.SYSTEM_CONFIG_DEV.paths['underscore'] =
`${this.APP_BASE}node_modules/underscore`;
this.SYSTEM_BUILDER_CONFIG.packages['underscore'] = {
main: 'underscore.js',
defaultExtension: 'js'
};
-
Импортировать "_" в мои ts файлы:
import * as _ from 'underscore';
Ответ 4
Проверьте это репо. Он имеет пример для подчеркивания
https://github.com/angular/angular-cli/wiki/3rd-party-libs#adding-underscore-library-to-your-project
Я сделал это на своих импортах, чтобы заставить его работать
//Place this at the top near your imports
/// <reference path="../../../../typings/globals/underscore/index.d.ts" />
import {Injectable} from '@angular/core';
import {Http} from '@angular/http';
import * as _ from 'underscore';
Убедитесь, что у вас есть правильный ссылочный путь, чтобы подчеркнуть типизацию.
Ответ 5
Подчеркивание для Angular 4
Я включил эту библиотеку для Angular 4.0.2 следующим образом:
npm install underscore --save
npm install @types/underscore --save
systemjs.config.js
map: {
// our app is within the app folder
'app': 'app',
.....
// other libraries
'rxjs': 'npm:rxjs',
'underscore': 'npm:/underscore/underscore.js'
}
Наконец:
import * as _ from 'underscore';
Ответ 6
Для использования библиотеки js вам необходимо установить в свой проект шаблоны underscore.d.ts. Проверьте этот, чтобы узнать, как включать тики