angular-busy icon indicating copy to clipboard operation
angular-busy copied to clipboard

Export angular-busy as CommonJS-module

Open brunnurs opened this issue 9 years ago • 2 comments

It would be great if we could include angular-busy with the CommonJS modularization-syntax. Using your great piece of code, especially in combination with NPM, browserify and AngularJS, would be much simpler.

As an example, have a look at my angular app.js file:

var app = angular.module('myProject', [
    'cgBusy',
    'ngFileSaver',
    'ngmap',
    require('angular-ui-router'),
    require('angular-animate'),
    require('angular-resource'),
    require('angular-ui-bootstrap'),
    require('ng-file-upload'),
    require('angular-smart-table'),
    require('angular-cookies'),
    require('angular-translate'),
    require('angular-dynamic-locale')

Most of my 3rd party dependencies (except of the first three) are referenced with the CommonJS require - keyword. With browserify, all I need to do is to execute browserify app.js > bundle.js and all dependencies (and even more important the transitive dependencies) are loaded from NPM in the specified version and bundled to one file. No need to add the files to my index.html manually or with additional tools like Grunt/Gulp. All we need to do is the standard angular initialization.

AFAIK, it is quite easy to implement it. Add an index.js- file with the following content to your repo (example is the angular-animate dependency):

require('./angular-animate');
module.exports = 'ngAnimate';

It is also an investment into the future, as the module-concept will be an important part of ECMAScript 6.

Let me know if I can help u!

brunnurs avatar Dec 15 '15 10:12 brunnurs

To add on, we should require the dist version of the library, not the one at the root of the repo (the dist version includes the default template):

require('./dist/angular-busy');
module.exports = 'cgBusy';

craigcabrey avatar Dec 27 '15 22:12 craigcabrey

apparently the job has already been done by @myflowpl (https://github.com/myflowpl/angular-busy2). I use this fork now, which works perfectly with browserify/webpack. Many thanks for the work @myflowpl!

brunnurs avatar Feb 11 '16 10:02 brunnurs