Я пытаюсь интегрировать Vue JS в одно из моих приложений с последней версией 2.4.2. Внедрение пакета использует struts, и мы устанавливаем сценарий Content-Security-Policy-src "self" "unsafe-inline" в заголовках ответов.
Сначала я пытался использовать автономный Vue JS вместо использования webpack или любого другого инструмента. Я вижу следующую ошибку CSP при выполнении моей страницы с помощью Vue JS:
[Vue warn]: Кажется, вы используете автономную сборку Vue.js в среде с политикой безопасности контента, которая запрещает небезопасные-eval. Компилятор шаблонов не может работать в этой среде. Рассмотрите возможность смягчения политики, чтобы позволить небезопасные или предварительные компиляции ваших шаблонов в функции рендеринга.
warn — vue.min.js:485
compileToFunctions — vue.min.js:9842
$mount — vue.min.js:10040
Global Code — example.do:51
Чтобы избежать этой проблемы, я начал использовать webpack для предварительной компиляции шаблонов, чтобы проблема была решена, и я все еще вижу ошибку ниже в webpack JS:
EvalError: отказывается оценивать строку как JavaScript, потому что "unsafe-eval" не является разрешенным источником сценария в следующей директиве политики безопасности контента: "script-src" self '' unsafe-inline '".
Есть ли какое-либо решение использовать webpack/Vue JS с поддержкой CSP? Какое подходящее решение для решения проблем CSP.
Пример Пример: Vue не обнаруживается, когда JSP загружается через стойки
Заранее благодарны за Вашу помощь.
Понятно, что существуют различные варианты настройки атрибута devtools в файле конфигурации webpack.
Сведения о выпуске и решении: https://github.com/webpack/webpack/issues/4094
https://webpack.js.org/configuration/devtool/#devtool объясняет подробные параметры и выбор для решения проблем CSP.