lingon-ng-json2js
v0.0.2
Published
A Lingon plugin which generates AngularJS modules, which pre-load your JSON files into a $cacheFactory.
Downloads
45
Maintainers
Readme
lingon-ng-json2js
A Lingon plugin which generates AngularJS modules, which pre-load your JSON files into a $cacheFactory. A plugin for Lingon which generates AngularJS modules, which pre-load your JSON files into a $cacheFactory.
Usage
First, install lingon-ng-json2js
as a development dependency:
npm install --save-dev lingon-ng-json2js
Then, add it to your lingon.js
:
var ngJson2Js = require("lingon-ng-json2js");
lingon.preProcessor('json').add(function(params) {
return ngJson2js({
moduleName: 'templates',
base: 'source'
});
});
The main reason to use this module would be to bundle json files. By bundling JSON files you can spare requests and
loading time when the files are actually needed. When you are optimizing, you should do it properly. So, we should add
the following plugin: gulp-uglify
:
var ngJson2js = require("lingon-ng-json2js");
var uglify = require("gulp-uglify");
lingon.preProcessor('json').add(function(params) {
return ngJson2js({
moduleName: 'templates',
base: 'source'
});
});
lingon.postProcessor('js').add(function(params) {
// only run minification for build task
if(lingon.task == 'build') {
return uglify({
outSourceMap: true
});
}
});
This way you end up with 1 single, minified Javascript file, which bundles all the (minified) JSON files.
API
ngJson2Js(options)
options.moduleName
Type: String
The name of the generated AngularJS module. Uses the templates
if omitted.
options.prefix
Type: String
The prefix which should be prepended to the file path to generate the file url.
options.stripPrefix
Type: String
The prefix which should be subtracted from the file path to generate the file url.
options.base
Type: String
The base directory used for resolving the relative file path to generate the file url. Falls back to regular file.base if unset.