Angular: отказался оценивать строку как JavaScript, потому что «unsafe-eval»

В моем приложении большой двоичный объект, полученный с помощью API-вызова, передается пользовательскому npm-пакету, который будет отображать большой двоичный объект на экране (это изображение). Локально работает! Только не на сервере разработки.

      Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' https://www.example.com 'unsafe-inline' https://www.anotherexample.com".

Было создано плоское приложение, которое извлекает большой двоичный объект и использует тот же пользовательский пакет npm. Кажется, проблема связана с Angular или, лучше сказать, с моими настройками. Локальные настройки одинаковые и не понятно в чем проблема.

1 ответ

Ошибка возникла не в Angular, проблема в вашей политике безопасности контента (CSP). Ваш CSP либо определен вindex.htmlфайл какmetaтег вheaderраздел или установить в качестве заголовка на вашем сервере.

Вы можете просто добавить «unsafe-eval» в CSP, но это очень рискованно с точки зрения безопасности. Мне кажется, что используемая здесь библиотека используетevalв каком-то месте, что плохо и его следует избегать.

Под сервером разработки вы имеете в виду, что он фактически развернут или локальный сервер, который начинается сng serve?

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