browserify-alias-grunt
Map paths to JS files and directories for use as aliases so that modules can be require'd without messy relative file paths.
Why use aliases?
You want to require modules from specific directories, without needing to use ../../../../some-module
to resolve relative paths.
For example, have a look at the following javascript directory structure:
root project directory
│
├──•Gruntfile.js
│
└───src
│
└───js
│
└───app
│
├──• app.js
│
├───controller
│ │
│ └──sunshine
│ │
│ └──• sunshine-controller.js
│
└───model
│
└──sunshine
│
└──• sunshine-model.js
Now, say we want to require
sunshine-model from within the sunshine-controller module. The standard old crappy way to do this is:
;
Now imagine that you refactor your code and modules get moved around. Suddenly, managing all those relative paths becomes even more of a pain in the butt.
Using browserify-alias-grunt at compile-time will allow you to require
modules from the aliased directories you specify.
New hotness:
;
Usage
Installation
npm install --save-dev browserify-alias-grunt
Implementation
Simply specify the files and directories you want to map by using a globbing pattern. Here is a very basic Gruntfile as an example:
{ "use strict"; var alias = ; grunt; grunt; grunt;} moduleexports = Gruntfile;
It is also possible to specify multiple targets using an array of objects:
{ "use strict"; var alias = ; grunt; grunt; grunt;} moduleexports = Gruntfile;