Внедрить внешний javascript в тег html script для результатов покрытия кода cobertura

1

Подобно этому, я хочу вставить файлы js, которые являются внешними по отношению к html.

Предыстория моей проблемы. Я использую cobertura для генерации кода для моего приложения Angular6. В моей сборке vsts я публикую результаты покрытия кода, но когда вы переходите через ссылки на файлы, когда нужно запускать файлы.js, я получаю ошибки в браузере:

Blocked script execution in '<URL>' because the document frame is sandboxed and the 'allow-scripts' permission is not set.

Я решил, что лучшим решением будет выполнение скрипта для ввода кода javascript непосредственно в html, а не для привязки к нему извне.

например, скажем, html выглядит так:

<html>

   <script src="code.js"></script>
...
</html>

то после запуска скрипта как injector.js как так: node./injector.js

html станет:

<html>

   <script>
      function hello() {
         console.log('hello');
      }
   </script>
</html>

Как вы можете это сделать?

или есть лучшее решение этой проблемы?

Теги:
angular
code-coverage
cobertura
azure-pipelines

1 ответ

0

Поскольку ваше развитие полностью основано на NodeJ.

Вы можете просто написать скрипт nodejs

  1. Используйте модуль Glob для извлечения всех файлов HTML с использованием шаблона из папки покрытия
  2. цикл через каждый сгенерированный отчет HTML и встроенный CSS и скрипты.
  3. сохрани это
  4. Затем опубликуйте отчет о покрытии кода как артефакты.

Следующий модуль NPM делает именно то, что делает инлайн-работа с небольшими оптимизациями. Https://www.npmjs.com/package/vsts-coverage-styles

Отказ от ответственности: я написал вышеупомянутый простой многоразовый пакет npm.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню