thisispvb / lingon-ng-json2js

Lingon plugin for compiling the JSON files of your Angular app to Javascript.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Lingon plugin for compiling the JSON files of your Angular app to Javascript.

License:MIT License


Languages

Language:JavaScript 100.0%