pdf.js/examples/browserify
Jonas Jenwald 56a8c934dd [api-major] Remove the PDFJS.disableWorker option
Despite this patch removing the `disableWorker` option itself, please note that we'll still fallback to loading the worker file(s) on the main-thread when running in environments without proper Web Worker support.

Furthermore it's still possible, even with this patch, to force the use of fake workers by manually loading the necessary file using a `<script>` tag on the main-thread.[1]
That way, the functionality of the now removed `SINGLE_FILE` build target and the resulting `build/pdf.combined.js` file can still be achieved simply by adding e.g. `<script src="build/pdf.worker.js"></script>` to the HTML (obviously with the path adjusted as needed).

Finally note that the `disableWorker` option is a performance footgun, and unfortunately many existing third-party examples actually use it without providing any sort of warning/justification.

---

[1] This approach is used in the default viewer, since certain kind of debugging may be easier if the code is running directly on the main-thread.
2018-01-31 12:52:10 +01:00
..
.gitignore Initial browserify example. 2016-04-04 11:32:01 -05:00
gulpfile.js Removing "entry-loader" dependency from webpack. 2016-04-13 08:24:25 -05:00
index.html Removing "entry-loader" dependency from webpack. 2016-04-13 08:24:25 -05:00
main.js [api-major] Remove the PDFJS.disableWorker option 2018-01-31 12:52:10 +01:00
package.json Adds gulp dist-install command; using pdfjs-dist package in examples. 2017-06-12 10:22:16 -05:00
README.md Adds gulp dist-install command; using pdfjs-dist package in examples. 2017-06-12 10:22:16 -05:00
worker.js Initial browserify example. 2016-04-04 11:32:01 -05:00

Overview

Example to demonstrate PDF.js library usage with Browserify.

Getting started

Build project and install the example dependencies:

$ gulp dist-install
$ cd examples/browserify
$ npm install

To build Browserify bundles, run gulp build. If you are running a web server, you can observe the build results at http://localhost:8888/examples/browserify/index.html

See main.js, worker.js and gulpfile.js files. Please notice that PDF.js packaging requires packaging of the main application and PDF.js worker code, and the workerSrc path shall be set to the latter file. The pdf.worker.js file shall be excluded from the main bundle.

Alternatives to the gulp commands (without compression) are:

$ mkdir -p ../../build/browserify
$ node_modules/.bin/browserify main.js -u ./node_modules/pdfjs-dist/build/pdf.worker.js -o ../../build/browserify/main.bundle.js
$ node_modules/.bin/browserify worker.js -o ../../build/browserify/pdf.worker.bundle.js