Laravel Elixir extension for generating AngularJS an templateCache module
Laravel elixir extension for generation angularjs templatecache module.
Read more about templateCache
npm install --save-dev laravel-elixir-ngtemplatecache
var elixir = require('laravel-elixir');
require('laravel-elixir-ngtemplatecache');
elixir(function(mix) {
mix.ngTemplateCache();
});
All arguments all optional, meaning of them:
src
- template file pattern, these files located inside the base directory and these will be aggregated into one angularjs module, default value: /**/*.html
outputDir
- where to put the generated module, default value: elixir.config.jsOutput
which means public/js
if you left untoched the elixir configurationbaseDir
- base directory for searching template files, default value: elixir.config.assetsDir + 'templates'
which means resources/assets/templates
in case you haven't configured the elixir in another wayoptions
- configuration options for this plugin and for these 3rdparty libraries used by the plugin.templateCache
- This plugin use the [gulp-angular-templatecache]https://github.com/miickel/gulp-angular-templatecache#api) for the templatecache module generation. You can configure that plugin here. Default options:{
standalone: true
}
htmlmin
- Options for html minification, you find possible parameter in the html-minifier documentation. Default options:{
collapseWhitespace: true,
removeComments: true
}
var elixir = require('laravel-elixir');
require('laravel-elixir-ngtemplatecache');
elixir(function(mix) {
mix.ngTemplateCache('/**/*.html', 'public/js', 'resources/assets/templates', {
enabled: {
htmlmin: true // in production, false in development mode
},
templateCache: {
standalone: true
},
htmlmin: {
collapseWhitespace: true,
removeComments: true
}
});
});
Include the templates file into your html:
<script src="public/js/templates.js"></script>
And then add the templates
module to the main module of your angularjs application:
angular.module('app', ['templates', '...']);
Use the template:
<ng-include src='foo/bar.html'></ng-include>
This will require a file BASEDIR/foo/bar.html
, so you don't have to put the BASEDIR
inside the url.
0.3.1
0.3.0
0.2.0
0.1.0
MIT