Я пишу компонент темы и мне нужно получить доступ к двум внешним библиотекам из вспомогательного файла. Мой текущий подход работает, но он кажется немного громоздким:
Я пробовал подключать библиотеки напрямую из вспомогательного файла, но это означало бы, что мне пришлось бы возвращать промис и затем делать myHelper(whatever, d3, luxon).then(...) в инициализаторе, чего я бы предпочел не делать по другим причинам.
Ах, моя ошибка. У меня было неверное имя файла в assets. Я исправил это, но теперь получаю ошибку CSP:
load-script.js:35 Отказано в загрузке скрипта
'http://localhost:4200/uploads/default/original/1X/c4a31754250cf6a40f7cbed182cfe2456d9be9fe.js', так как это нарушает следующую директиву Content Security Policy:
"script-src http://localhost:4200/logs/ http://localhost:4200/sidekiq/ http://localhost:4200/mini-profiler-resources/ http://localhost:4200/assets/ http://localhost:4200/brotli_asset/ http://localhost:4200/extra-locales/ http://localhost:4200/highlight-js/ http://localhost:4200/javascripts/ http://localhost:4200/plugins/ http://localhost:4200/theme-javascripts/ http://localhost:4200/svg-sprite/
'unsafe-eval' http://localhost:4200/ember-cli-live-reload.js http://localhost:4200/_lr/ /uploads". Обратите внимание, что 'script-src-elem' не был явно задан, поэтому в качестве запасного варианта используется 'script-src'.
Я не видел, чтобы вы использовали extend_content_security_policy в settings.yml, поэтому не знаю, чего мне не хватает.
В любом случае я добавил URL директории с загрузками в настройку src моего CSP. Но, возможно, стоит добавить что-то ещё, чтобы сделать это более точным