Проблема с использованием файла js в проекте машинописного текста. Angular CLI

Я нашел отличный проект на github и надеялся использовать его в своем проекте. Я уверен, что снова столкнусь с этой проблемой. Так что я очень надеюсь, что смогу получить помощь в этом. Проект находится по адресу: https://github.com/lokesh/color-thief. Я пытаюсь импортировать js-файл цвет-thief.js в свой проект и использовать его в файле или компоненте TS. Я добавил файл в свой скрипты [] в файле angular.json. Тем не менее, у меня все еще возникают проблемы с доступом к методу getColor (). Я использую intelliJ. Я не могу заставить работать intellisense или автозавершение кода. Что, кроме того, заставляет меня думать, что я неправильно импортирую файл.

Вот мой ts файл.

declare var ColorThief: any;

Путь к файлу js:

'../../js/color-thief.js'

Условия окружающей среды - это кошмар.

используйте console.info (ColorThief), чтобы проверить, правильно ли он импортирован. Ваша проблема с intellisense, а не с angular.

Yoarthur 18.12.2018 17:11

Говорит, что ColorThief не определен.

Nov 18.12.2018 17:14

Я просто хочу воспроизвести то, что делает Локеш, в своем файле readme.md на github: |

Nov 18.12.2018 17:23
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
1
3
336
1

Ответы 1

Убедитесь, что в вашем файле angular.json свойство script установило что-то вроде этого.

"scripts": [
  "node_modules/[packageName]/js/color-thief.js",
],

не забудьте установить node_modules и в скрипте и импортировать соответствующий файл .js, когда эта глобальная переменная определена.

Насколько я понимаю, вам нужно создать этот объект, согласно пакету color-thief. Нравится.

 let colorThief = new ColorThief();

Итак, изначально я просто установил файл «color-thief.js». На этот раз я установил проект git. И использовал ваше предложение. Теперь, когда я набираю console.info (ColorThief), я получаю f () {}. Так вроде вроде работает? Но теперь я получаю сообщение об ошибке getColor undefined.

Nov 18.12.2018 17:39

Теперь вы правильно импортируете. Я отредактировал ответ. Кажется, вам нужно создать объект ColorThief

Yoarthur 18.12.2018 17:49

idk ... теперь я получаю эту ошибку: ERROR TypeError: _js_color_thief_js__WEBPACK_IMPORTED_MODULE_8 ___ default.a не является конструктором

Nov 18.12.2018 17:57

Честно говоря, я уверен, что решение есть. Но я переключился на другой проект git, который имеет более удобный файл readme и, похоже, имеет больше подписчиков. stackoverflow.com/questions/50909276/… узел-яркий

Nov 18.12.2018 18:17

позвольте мне проверить это.

Yoarthur 18.12.2018 18:21

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