Web Bundle
- Tool to pack binary files into a PNG image.
- Users can load a
bundle.wp
file and extract its data indexed by the original file's path.- A file in the folder
root/img/logo.png
can be accessed bybundle.read("img/logo.png") == Uint8Array
- Helper methods allow users to read the desired data format.
var d = bundle.readJSON("data/file.json") == object
var s = bundle.readText("data/file.txt") == string
var img = bundle.readImg("img/logo.jpg") == ImageElement
- A file in the folder
Example Bundle
This PNG contains the following files:
- xml.dae
- data.json
- portrait.png
Why Bundle stuff ?
- Significantly reduce the number of HTTP requests allowing fast page loads
- Text data can be at least 40% compressed
- Browsers decompression routines are native and fast
- Games can greatly benefit of the compression and data packing
- No need to create and manage your own pack data type
Compression [CLI]
- Install the
wb
tool with$ npm install web-bundle
, or find it intool/wb.js
- In the command line, run
$ wb encode -o my-bundle.wb foo.json bar.png
- After running,
foo.json
andbar.png
will be stored inmy-bundle.png
- Use
--output
or-o
to choose the output location for the bundle - Use
--add
ora
to add files to an existing bundle instead of creating a new one - See
wb --help
for more
Compression [Node.JS]
- Install web-bundle with
npm install --save web-bundle
var wb = ; var bundle = ;bundle;
Decompression [JavaScript, browser]
- Add the scripts
deploy/js/wb.js
ordeploy/js/wb.min.js
to your page.
var b = ;b;
Decompression [Haxe]
- Make sure
<script src='js/wb.js'/>
exists in your page. - Make sure the
web-bundle
library is installed and linked in your project.- Use
haxelib
to install the library. haxelib git web-bundle https://github.com/haxorplatform/web-bundle.git 1.0
- Use
import js var b : Bundle = new Bundle();b{ if(progress >= 1.0) { if(bundle != null) { bundle } }},[password]);
Decompression [Node.JS]
- Install with
$ npm install --save web-bundle
var wb = ; var bundle = ;bundle;
Decompression [CLI]
- Install the
wb
tool with$ npm install web-bundle
, or find it intool/wb.js
- To see the contents of a bundle, run
$ wb ls my-bundle.wb
- To extract all files, use
$ wb decode my-bundle.wb
- Specify an output location with
--output
or-o
:$ wb decode my-bundle.wb --output some/dir
- Extract a single file with
--extract
or-e
:$ wb decode my-bundle.wb --extract foo.png
- See
$ wb --help
for more