ktc
v0.0.7
Published
Precompiler for Kendo UI Core Templates
Downloads
3
Maintainers
Readme
Precompiler for Kendo UI Core Templates
ktc
is a simple command line tool for precompiling kendo style templates. the tool simple outputs a
javascript file that contains the compiled templates. at which point they simply need to called from you client code
One upside of this method is that you don't have to use the templates for just html anymore, but any sort of templating you wish, case in point internally KTC uses templates it compiled to generate new templates :P
Install
Requires Node.js to be installed on the your system
npm install ktc
Usage
by default ktc
will output a UMD wrapped file with no specified dependencies. In a traditional web
environment where there is an implicit relience on Globals, the default should be sufficent.
If you with to either explicitly state global dependencies or are working inside an AND or CommonJS/Node environment, you will need to explicilty declare any dependencies.
Dependencies
Simply include any and all deps by module name
ktc -i ./**/*.kendo -o ./templates.js -d lodash -d bluebird
in most cases you will probably need to alias your deps in order to get the output you wish.
For example lodash is generally exposed as _
but required like require('lodash')
. In order
to handle this you can pass :
deliminated strings as dependencies.
ktc -i ./**/*.kendo -o ./templates.js -d lodash:_ -d kendo-core:kendo -d jquery:$
the general format is 'commonjs:amd:exposedAs'
or 'cjsAndAmd:exposedAs
notice that the exposedas
string
should always match the object sitting on the window
object (if applicable)
All of this will wrap your compiled templates inside a umd structure like this, for use in any environment
(function(root, factory) {
if(typeof exports === 'object') {
module.exports = factory(require('lodash'), require('kendo-core'), require('jquery'));
}
else if(typeof define === 'function' && define.amd) {
define(['lodash','kendo-core','jquery'], factory);
}
else {
root['superCool'] = factory( _, kendo, $);
}
}(this, function( _, kendo, $) {
//compiled templates here!
})
if you only need one type you make use of the --cjs
and --amd
flags