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

时间:2016-05-06 13:38:37

标签: node.js gruntjs code-coverage grunt-contrib-connect

我一直在为我的报道报告尝试启用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);

我的想法是"拦截" index.html并将一个脚本注入livereload

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

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

1 个答案:

答案 0 :(得分:0)

可能有帮助: 您可以添加可用于拦截请求的中间件,如下所示:

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