#angular #spreadjs
#angular #spreadjs
Вопрос:
Я пытаюсь импортировать библиотеку построения графиков SpreadJS в свое приложение angular, но независимо от того, какие варианты я пробую, я никогда не получаю результатов. Однако коллега, использующий тот же код и настройки, может правильно использовать диаграммы.
Мы используем следующие версии:
"@grapecity/spread-excelio": "^12.0.9",
"@grapecity/spread-sheets": "^12.0.9",
"@grapecity/spread-sheets-angular": "^12.0.9",
"@grapecity/spread-sheets-charts": "^12.0.9",
устанавливается через модули NPM.
Мы также пытаемся использовать следующее руководство, но оно кажется устаревшим и у нас не работает:https://www.grapecity.com/en/blogs/create-angular-spreadsheets-with-angular-cli
Мы используем их в компонентах, импортируя их следующим образом:
import * as GC from '@grapecity/spread-sheets';
import '@grapecity/spread-sheets-charts';
При вызове sheet.charts.clear();
я получаю следующее сообщение об ошибке:
Cannot read property 'clear' of undefined
(предположим, что sheet — это переменная, содержащая ссылку на лист spreadjs).
У моего коллеги нет проблем с тем же кодом, и диаграммы отлично загружаются для него.
Есть предложения, что еще мы должны попробовать?
Комментарии:
1. Первый. Если вы используете
angular.json
для импорта сценариевindex.html
, вам не нужно импортировать свою библиотеку в компонентах (этот подход обычно используется, когда используются старые библиотеки, которые не разделены на модули). Также было бы здорово, если бы вы предоставили нам небольшой рабочий пример в StackBlitz2. Я, наконец, понял, что эта проблема была вызвана package-lock.json. Я удалил этот файл и node_modules, и он начал работать «волшебным образом»
3. @Narshe напишите это как ответ, и я поддержу его. В настоящее время я внимательно изучаю SpreadJS.
4. @SQLGeorge готово
Ответ №1:
Причина, по которой это происходило с нами, заключается в том, что у нас были разные версии для каждого модуля в нашем package-lock.json
.
Чтобы исправить это, мы просто удалили папку package-lock.json
и node-modules. После повторного запуска npm install
все начало работать нормально. Просто убедитесь, что package.json
также содержит одну и ту же версию для каждого из модулей.