# karma-ng-html2js-preprocessor **Repository Path**: mirrors_linagora/karma-ng-html2js-preprocessor ## Basic Information - **Project Name**: karma-ng-html2js-preprocessor - **Description**: [ARCHIVED] - A Karma plugin. Compile AngularJS templates to JavaScript on the fly. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2025-12-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![Archived](https://img.shields.io/badge/Current_Status-archived-blue?style=flat) # karma-ng-html2js-preprocessor [![Build Status](https://travis-ci.org/karma-runner/karma-ng-html2js-preprocessor.png?branch=master)](https://travis-ci.org/karma-runner/karma-ng-html2js-preprocessor) > Preprocessor for converting HTML files to [AngularJS](http://angularjs.org/) templates. *Note:* If you are looking for a general preprocessor that is not tight to Angular, check out [karma-html2js-preprocessor](https://github.com/karma-runner/karma-html2js-preprocessor). ## Installation The easiest way is to keep `karma-ng-html2js-preprocessor` as a devDependency in your `package.json`. ```json { "devDependencies": { "karma": "~0.10", "karma-ng-html2js-preprocessor": "~0.1" } } ``` You can simple do it by: ```bash npm install karma-ng-html2js-preprocessor --save-dev ``` ## Configuration ```js // karma.conf.js module.exports = function(config) { config.set({ preprocessors: { '**/*.html': ['ng-html2js'] }, files: [ '*.js', '*.html' ], ngHtml2JsPreprocessor: { // strip this from the file path stripPrefix: 'public/', // prepend this to the prependPrefix: 'served/', // or define a custom transform function cacheIdFromPath: function(filepath) { return cacheId; }, // setting this option will create only a single module that contains templates // from all the files, so you can load them all with module('foo') moduleName: 'foo' } }); }; ``` ## How does it work ? This preprocessor converts HTML files into JS strings and generates Angular modules. These modules, when loaded, puts these HTML files into the `$templateCache` and therefore Angular won't try to fetch them from the server. For instance this `template.html`... ```html
something
``` ... will be served as `template.html.js`: ```js angular.module('template.html', []).config(function($templateCache) { $templateCache.put('template.html', '
something
'); }); ``` See the [ng-directive-testing](https://github.com/vojtajina/ng-directive-testing) for a complete example. ---- For more information on Karma see the [homepage]. [homepage]: http://karma-runner.github.com