Useful ENB technologies to build angular projects.
$ npm install --save-dev enb-ng-techs
ng-annotate
- adds AngularJS dependency injection annotations usingng-annotate
ng-templates
- combines*.tmpl.html
files in single partial which can be loaded and compiled by Angular in runtime
Takes js file provided by source
option and writes annotated result to file provided by target
option.
Options
- String source — file-target to annotate.
- String target — file-target to write annotated output.
Example
nodeConfig.addTech(require('enb-ng-techs/techs/ng-annotate'), {
source : '?.pre.js',
target : '?.annotated.js'
});
Combines *.tmpl.html
files wrapping them out with <script type="text/ng-template">
tag and filename as id
.
You should fetch this file and compile it in your app using $compile service before any call to templates occurred.
Опции
- String target — Output target. Default —
?.tmpl.html
.
Example
nodeConfig.addTech(require('enb-ng-techs/techs/ng-templates'));
Use this snippet in project based on ui-router
to fetch and compile templates.
angular.module('ngApp')
.run(function($http, $compile, $urlRouter, $rootScope){
// make a chance to load templates before state change
var un = $rootScope.$on('$stateChangeStart', function (event) {
event.preventDefault();
});
// get and compile templates
$http.get('ngapp.tmpl.html')
.then(function(response){
response.data.length &&
$compile(response.data);
// now we can safely set an state
un();
$urlRouter.sync();
});
});