A few seconds.


A Karma plugin. Convert HTML files into JS strings to serve them in a script tag.

karma-html2js-preprocessor Build Status

Preprocessor for converting HTML files into JS strings.

Note: If you are using AngularJS, check out karma-ng-html2js-preprocessor.


The easiest way is to keep karma-html2js-preprocessor as a devDependency in your package.json.

  "devDependencies": {
    "karma": "~0.10",
    "karma-html2js-preprocessor": "~0.1"

You can simple do it by:

npm install karma-html2js-preprocessor --save-dev


// karma.conf.js
module.exports = function(config) {
    preprocessors: {
      '**/*.html': ['html2js']

    files: [

    html2JsPreprocessor: {
      // strip this from the file path
      stripPrefix: 'public/',

      // prepend this to the file path
      prependPrefix: 'served/',

      // or define a custom transform function
      processPath: function(filePath) {
        // Drop the file extension
        return filePath.replace(/\.html$/, '');

How does it work ?

This preprocessor converts HTML files into JS strings and publishes them in the global window.__html__, so that you can use these for testing DOM operations.

For instance this template.html...


... will be served as template.html.js:

window.__html__ = window.__html__ || {};
window.__html__['template.html'] = '<div>something</div>';

See the end2end test for a complete example.

For more information on Karma see the homepage.

Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.