Как использовать чистую библиотеку javascript, hashids.js на angular?

Я пробовал напрямую импортировать библиотеку

import * as hash from '../../../../node_modules/hashids';

и попробовал этот код

let id = hash.encode(this.studentDocument.student_id_number); console.log(id);

Но, к сожалению, выдает эту ошибку.

_node_modules_hashids__WEBPACK_IMPORTED_MODULE_2__.encode is not a function

Я даже пробовал это

declare var hash:any;

Но это вызывает эту ошибку

hash is not defined

Мы будем благодарны за любые чаевые! (продолжение этого Почта)

вы пробовали заменить import * as hash from '../../../../node_modules/hashids'; на require('hashids')?

Yanis-git 10.09.2018 09:23

Что-то вроде этого, сэр? требовать ('хешиды');

Justine M. 10.09.2018 09:28

Как я могу получить доступ к методам? Спасибо за ответ!

Justine M. 10.09.2018 09:31

после требования просто поместите declare var hashids:any; и используйте его как документацию.

Yanis-git 10.09.2018 09:44

Это вызывает эту ошибку, ERROR ReferenceError: hashids не определен. Думаю, у него действительно есть свои причуды. Спасибо, что снова ответили, сэр!

Justine M. 10.09.2018 09:47
0
5
357
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам необходимо создать новый экземпляр объекта hashids.

import * as hash from 'hashids';

const hashids = new hash();
const id = hashids.encode(348029348);
console.log(id);

Сэр wingnod, я бросил код в конструктор без импорта, но выскакивает эта ошибка. Нельзя использовать new с выражением, тип которого не имеет сигнатуры вызова или конструкции.

Justine M. 10.09.2018 09:52

Этого не было с import * as hash from 'hashids'; Но работал с import * как хеш из '../../../../node_modules/hashids/dist/hashids.min.js';

Justine M. 10.09.2018 09:56

Другие вопросы по теме