Skip to content

A webpack bundle-loader ripoff with promise interface

Notifications You must be signed in to change notification settings

ollwenjones/promise-loader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

A sister of bundle-loader with promise API

Usage

Documentation: Using loaders

This is a ripoff of bundle-loader that uses promises instead of callbacks. It only implements so-called lazy bundle-loader mode—that is, require returns a function that, when invoked, returns a promise that resolves to the module.

require: (string) -> () -> Promise<module>

It's up to you to specify your Promise library of choice as a parameter.

// Assuming you use Bluebird
var load = require("promise?bluebird!./file.js");

// The chunk is not requested until you call the load function
load().then(function(file) {

});

If a promise library is already loaded externally you can specify 'global'.

You can optionally specify a name for your chunk after a comma:

var load = require("promise?bluebird,editor!./editor.js");

This can be useful for single-page apps because you can later extract filenames from Webpack-generated stats and pre-load specific bundles if you know user's going to hit them.

The bundle name may include [filename], which will be replaced with the filename, and [name], which omits the extension. This is useful for when you want to configure loaders in Webpack configuration without specifying precise filenames—for example, by a suffix:

{
  test: /\.i18n\.json$/,
  loader: 'promise?global,[name].i18n'
}

License

MIT (http://www.opensource.org/licenses/mit-license.php)

About

A webpack bundle-loader ripoff with promise interface

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%