Coder Social home page Coder Social logo

module-bundler's Introduction

Build Status

                 __     __        __                ____       
  __ _  ___  ___/ /_ __/ /__ ____/ /  __ _____  ___/ / /__ ____
 /  ' \/ _ \/ _  / // / / -_)___/ _ \/ // / _ \/ _  / / -_) __/
/_/_/_/\___/\_,_/\_,_/_/\__/   /_.__/\_,_/_//_/\_,_/_/\__/_/   

ModuleBundler combines javascript files and provides a minimal AMD-like loader to access them.

A typically bundle file will have multiple bundles and output directories specified like (CoffeeScript config file):

module.exports =
  'test/packaging/build/bundle-latest.js':
    underscore: 'underscore'
    'underscore-awesomer': 'underscore-awesomer.js'

  'test/packaging/build/bundle-legacy.js':
    underscore: 'vendor/underscore-1.2.1.js'
    'underscore-awesomer': 'underscore-awesomer.js'

In this example, two bundles will be created:

  1. test/packaging/build/bundle-latest.js - will include underscore from an npm install and underscore-awesomer.js from the current working directory.

  2. test/packaging/build/bundle-legacy.js - will include underscore from the vendor directory and underscore-awesomer.js from the current working directory.

Also, there are some additional bundling options:

  1. _publish - this calls require(module_name) and assigns the result to a symbol on window (browser) or globals (server). This is useful when using a bundle on the client where libraries expect dependent symbols to be defined on window.

  2. _alias - this calls require(module_name) and re-defines it under a new, aliased module name. This is useful is you want to replace a loaded module in a library. For example, you can replace underscore with Lo-Dash in Backbone.js.

  3. _load - this calls require(module_name) to ensure the module is loaded when the bundle is loaded.

Examples (CoffeeScript config file):

module.exports =
  'vendor/scripts/client-bundle.js':
    lodash: 'lodash'
    backbone: 'backbone'
    'backbone-articulation': 'backbone-articulation'

    _alias:
      underscore: 'lodash'
    _publish:
      _: 'underscore'
      Backbone: 'backbone'
    _load:
      'backbone-articulation'

Of course, this example could be simplified as:

module.exports =
  'vendor/scripts/client-bundle.js':
    underscore: 'lodash'
    backbone: 'backbone'
    'backbone-articulation': 'backbone-articulation'

    _publish:
      _: 'underscore'
      Backbone: 'backbone'
    _load:
      'backbone-articulation'

Release Notes

###0.1.1

  • initial release

Building the library

###Installing:

  1. install node.js: http://nodejs.org
  2. install node packages: 'npm install'

###Commands:

Look at: https://github.com/kmalakoff/easy-bake

module-bundler's People

Contributors

kmalakoff avatar kvnloo avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.