lingon-ng-json2js

0.0.2 • Public • Published

lingon-ng-json2js NPM version Build Status Dependency Status

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.

License

MIT License

Package Sidebar

Install

npm i lingon-ng-json2js

Weekly Downloads

1

Version

0.0.2

License

none

Last publish

Collaborators

  • philipvonbargen