aboutsummaryrefslogtreecommitdiff

InApp JS Boilerplate

Feature list:

  • Easy to start a project from scratch
  • Build on top of RequireJS
  • Templating (based on Mozilla's Nunjucks)
  • State based routing
  • Integrated Optimizer/Minifier (r.js)

Requirements

NodeJS - For final building

No other dependencies

Installation:

$ npm install -g requirejs

Build:

$ node r.js -o build.js

output/production code will be copied to dist folder.

Directory Structure

Project
├───css
│   └───lib --> Third party libraries
├───fonts
├───images
├───partials --> module wiser partial views should be stored here
│   ├───common
│   ├───dashboard
│   ├───login
│   └───test
└───src
    ├───common 
    ├───dashboard --> module folder
    ├───libs  -> put all third party dependencies here
       └───jquery-ui-1.12.1.custom
           ├───external
              └───jquery
           └───images
    └───login --> module folder

File Descriptions

File Description
build.js This file contains final build configurations, customizable
src/config.js This files holds module definition, render area declaration, template path etc
src/config.require.js Holds third party library/module definitions
src/constants.js Used to store Application constants like API url, end points etc
src/global.js Global application variable storage (acts like $rootScope of angularJS)
src/router.js This file is important, stores the application routing, module permissions, module loading etc
src/main.js Entry point/ boostraper of the Application. This will initiate the router config
src/moduleLoader.js Utility library used to load module, utilizing config.js
src/services.js services is a wrapper library around standard JQuery Ajax
src/templateRenderer.js Used to load template using nunjucks