Ошибка во время сборки проекта 'npm run build' при использовании в проекте внешней библиотеки
ситуация следующая:
- есть проект построенный на node.js.
- в нем необходимо реализовать взаимодействие с сторонним сервисом собирающем инфу о пользователях.
- в head страницы я разместил скрипт сервиса который асинхронно подгружает библиотеку этого сервиса.
- теперь на странице регистрации, при регистрации мне необходимо выполнить функцию из библиотеки этого сервиса, чтобы фиксировалась регистрация.
Проблема в том что на момент выполнения npm run build, скрипт в head не отработал и библиотека не подгрузилась, соответственно и функция которая прописанная в скрипте регистрации еще не обьявлена.
В итоге npm об этом и пишет
Creating an optimized production build...
Failed to compile.
./src/components/Registration/Registration.jsx
Line 525: 'carrotquest' is not defined no-undef
Search for the keywords to learn more about each error.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `REACT_APP_STAGE=preprod node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/alex/.npm/_logs/2020-10-13T11_26_39_161Z-debug.log
Уже 3 дня мучаюсь, подскажите как можно решить такую проблему. Возможно ли как-то прописать эту функцию чтобы её игнорил npm ? Я пробовал скачать полностью их библиотеку (файл) и подключить вот так
let carrotLib = require('./carrot-lib');
И обратится к ней вот так, но это не сработало(
carrotLib.carrotquest.auth(user_id, hash);
Ответы (1 шт):
Похоже на то, что сборке проекта препятствует проверка линтером. Если у вас eslint то попробуйте добавить вашу "глобальную" функцию в соотвествующий раздел настроек линтера:
Если конфигурация в .eslintrc:
"globals": {
"carrotquest": true
}
Если конфигурация в package.json:
"eslintConfig": {
"globals": {
"carrotquest": true
}
}
на момент выполнения npm run build, скрипт в head не отработал и библиотека не подгрузилась
Ошибка считать, что в момент сборки проекта подключаются внешние библиотеки, - только локальные.