Я пытаюсь создать расширение для Chrome, которое использует firebase в качестве базы данных в моем файле content.js
, но оно не работает. Я использую v3
манифест. Но я не могу импортировать firebase.
Я попытался настроить firebase в своем проекте, используя этот ресурс . Я также попытался загрузить исходный код из firebase-app.js и firebase-database.js и импортировал его с помощью
const firebase = chrome.extension.getURL('./firebase-app.js');
но этот файл имеет импорт из
https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js
это нарушает content_security_policy
и я получаю эту ошибку
Refused to load the script ‘https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js’ because it violates the following Content Security Policy directive: “script-src ‘self’ ‘wasm-unsafe-eval’“. Note that ‘script-src-elem’ was not explicitly set, so ‘script-src’ is used as a fallback.
Я знаю об ограничениях внешнего кода.
Есть ли обходной путь для этого в реализации vanilla JS?
Как указано в ECR, вы не можете загружать эти скрипты из CDN.
Вместо этого вы должны установить конвейер сборки JavaScript (например, webpack или Rollup), чтобы скомпилировать пакет приложения из кода вашего расширения.
В Firebase есть документация по этому процессу и ссылка на соответствующие ресурсы, которые стоит просмотреть.
Было бы лучше использовать reactjs вместо vanilla js для создания расширения?