我需要在我的覆盖率测试报告中启用 livereload

I Need enable livereload in my coverage test report

我一直在尝试为我的覆盖率报告启用 livereload。 我生成此报告的工具是 karma-coverage,我在以下文件夹中生成此报告:test/coverage/html-report

 -test
 |
 |-- coverage
     |
     |-- report-html
         |
         |-- index.html

生成报告时,我使用 grunt-contrib-connect 并使用以下内容提供生成的报告:

 var COVERAGE_BASE = './test/coverage/report-html',

   ...
   ...
   ...
   connect: {
      server: {
        options: {
          port: 9000,
          base: '.',
          open: false
        }
      },
      dist:{
        options: {
          keepalive: true,
          port: 9000,
          base: './dist',
          open: false
        }
      },
      coverage: {
        options: {
          keepalive: true,
          port: 9001,
          base: COVERAGE_BASE ,
          open: false
        }
      }
    }

当我执行任务 grunt coverage 时,我的配置是

COVERAGE_TASKS = ['shell:test','open:coverage', 'connect:coverage','watch'];

grunt.registerTask('coverage', COVERAGE_TASKS);

我的想法是 "intercept" index.html 并将脚本注入 livereload

<script src="//localhost:35729/livereload.js"></script>

在使用连接包服务之前是否存在拦截 index.html 并处理它以添加此脚本的方法?

这可能有帮助: 您可以像这样添加可用于拦截对连接服务器的请求的中间件:

grunt.initConfig({
  connect: {
    server: {
      options: {
        middleware: [
          function myMiddleware(req, res, next) {
            
            // DO YOUR THING HERE!!!!
            res.end('Hello, world!');
          }
        ],
      },
    },
  },
});