Awesome
A sister of bundle-loader with promise API
A sister of promise-loader with promise API
ES6 Promise Loader
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>
var load = require("es6-promise!./file.js");
// The chunk is not requested until you call the load function
load(namespace).then(function(file) {
});
module.exports = function (namespace) {
return new Promise(function (resolve) {
require.ensure([], function (require) {
resolve(require('./about/about')[namespace]));
});
});
}
You can optionally specify a name for your chunk after a comma:
var load = require("es6-promise?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: 'es6-promise?[name].i18n'
}