karma-angular-templating-html2js-preprocessor
v0.2.2
Published
A Karma plugin. Compile AngularJS templates for Meteor to JavaScript on the fly.
Downloads
7
Maintainers
Readme
karma-angular-templating-html2js-preprocessor
Preprocessor for converting Meteor HTML template files to AngularJS templates. Use it with https://github.com/Sanjo/angular-templating
Installation
The easiest way is to keep karma-angular-templating-html2js-preprocessor
as a devDependency in your package.json
.
{
"devDependencies": {
"karma": "~0.10",
"karma-angular-templating-html2js-preprocessor": "~0.1"
}
}
You can simple do it by:
npm install karma-angular-templating-html2js-preprocessor --save-dev
Configuration
// karma.conf.js
module.exports = function(config) {
config.set({
preprocessors: {
'**/*.html': ['angular-templating-html2js']
},
files: [
'*.js',
'*.html',
// if you wanna load template files in nested directories, you must use this
'**/*.html'
],
angularTemplatingHtml2JsPreprocessor: {
// 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
...
<template name="template">
<div>something</div>
</template>
... will be served as template
:
angular.module('template', []).config(function($templateCache) {
$templateCache.put('template', '<div>something</div>');
});
See the ng-directive-testing for a complete example.
For more information on Karma see the homepage.