Removing "entry-loader" dependency from webpack.
This commit is contained in:
parent
127e6d7343
commit
ae415f9e80
@ -16,10 +16,11 @@ http://localhost:8888/examples/browserify/index.html
|
|||||||
|
|
||||||
See main.js, worker.js and gulpfile.js files. Please notice that PDF.js
|
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,
|
packaging requires packaging of the main application and PDF.js worker code,
|
||||||
and the `workerSrc` path shall be set to the latter file.
|
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:
|
Alternatives to the gulp commands (without compression) are:
|
||||||
|
|
||||||
$ mkdir -p ../../build/browserify
|
$ mkdir -p ../../build/browserify
|
||||||
$ node_modules/.bin/browserify main.js -o ../../build/browserify/bundle.js
|
$ 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
|
$ node_modules/.bin/browserify worker.js -o ../../build/browserify/pdf.worker.bundle.js
|
||||||
|
@ -10,15 +10,18 @@ var TMP_FILE_PREFIX = '../../build/browserify_';
|
|||||||
|
|
||||||
gulp.task('build-bundle', function() {
|
gulp.task('build-bundle', function() {
|
||||||
return browserify('main.js', {output: TMP_FILE_PREFIX + 'main.tmp'})
|
return browserify('main.js', {output: TMP_FILE_PREFIX + 'main.tmp'})
|
||||||
|
.ignore(require.resolve('pdfjs-dist/build/pdf.worker')) // Reducing size
|
||||||
.bundle()
|
.bundle()
|
||||||
.pipe(source(TMP_FILE_PREFIX + 'main.tmp'))
|
.pipe(source(TMP_FILE_PREFIX + 'main.tmp'))
|
||||||
.pipe(streamify(uglify()))
|
.pipe(streamify(uglify()))
|
||||||
.pipe(rename('bundle.js'))
|
.pipe(rename('main.bundle.js'))
|
||||||
.pipe(gulp.dest(OUTPUT_PATH));
|
.pipe(gulp.dest(OUTPUT_PATH));
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('build-worker', function() {
|
gulp.task('build-worker', function() {
|
||||||
return browserify('worker.js', {output: TMP_FILE_PREFIX + 'worker.tmp'})
|
// We can create our own viewer (see worker.js) or use already defined one.
|
||||||
|
var workerSrc = require.resolve('pdfjs-dist/build/pdf.worker.entry');
|
||||||
|
return browserify(workerSrc, {output: TMP_FILE_PREFIX + 'worker.tmp'})
|
||||||
.bundle()
|
.bundle()
|
||||||
.pipe(source(TMP_FILE_PREFIX + 'worker.tmp'))
|
.pipe(source(TMP_FILE_PREFIX + 'worker.tmp'))
|
||||||
.pipe(streamify(uglify({compress:{
|
.pipe(streamify(uglify({compress:{
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>browserify example</title>
|
<title>browserify example</title>
|
||||||
<script src="../../build/browserify/bundle.js"></script>
|
<script src="../../build/browserify/main.bundle.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<canvas id="theCanvas"></canvas>
|
<canvas id="theCanvas"></canvas>
|
||||||
|
@ -7,7 +7,7 @@ require('pdfjs-dist');
|
|||||||
|
|
||||||
var pdfPath = '../helloworld/helloworld.pdf';
|
var pdfPath = '../helloworld/helloworld.pdf';
|
||||||
|
|
||||||
// Setting worker path to worker bundle
|
// Setting worker path to worker bundle.
|
||||||
PDFJS.workerSrc = '../../build/browserify/pdf.worker.bundle.js';
|
PDFJS.workerSrc = '../../build/browserify/pdf.worker.bundle.js';
|
||||||
|
|
||||||
// It is also possible to disable workers via `PDFJS.disableWorker = true`,
|
// It is also possible to disable workers via `PDFJS.disableWorker = true`,
|
||||||
|
@ -14,5 +14,6 @@ To build Webpack bundles, run `node_modules/.bin/webpack`. If you are running
|
|||||||
a web server, you can observe the build results at
|
a web server, you can observe the build results at
|
||||||
http://localhost:8888/examples/webpack/index.html
|
http://localhost:8888/examples/webpack/index.html
|
||||||
|
|
||||||
See main.js and webpack.config.js files. Please notice that PDF.js packaging
|
See main.js and webpack.config.js files. Please notice that PDF.js
|
||||||
requires the `entry` loader.
|
packaging requires packaging of the main application and PDF.js worker code,
|
||||||
|
and the `workerSrc` path shall be set to the latter file.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>webpack example</title>
|
<title>webpack example</title>
|
||||||
<script src="../../build/webpack/bundle.js"></script>
|
<script src="../../build/webpack/main.bundle.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<canvas id="theCanvas"></canvas>
|
<canvas id="theCanvas"></canvas>
|
||||||
|
@ -7,6 +7,9 @@ var pdfjsLib = require('pdfjs-dist');
|
|||||||
|
|
||||||
var pdfPath = '../helloworld/helloworld.pdf';
|
var pdfPath = '../helloworld/helloworld.pdf';
|
||||||
|
|
||||||
|
// Setting worker path to worker bundle.
|
||||||
|
pdfjsLib.PDFJS.workerSrc = '../../build/webpack/pdf.worker.bundle.js';
|
||||||
|
|
||||||
// It is also possible to disable workers via `PDFJS.disableWorker = true`,
|
// It is also possible to disable workers via `PDFJS.disableWorker = true`,
|
||||||
// however that might degrade the UI performance in web browsers.
|
// however that might degrade the UI performance in web browsers.
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"webpack": "~1.12.9",
|
"webpack": "~1.12.9",
|
||||||
"entry-loader": "~0.1.0",
|
|
||||||
"pdfjs-dist": "../../build/dist"
|
"pdfjs-dist": "../../build/dist"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,14 @@ var path = require('path');
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
context: __dirname,
|
context: __dirname,
|
||||||
entry: './main.js',
|
entry: {
|
||||||
|
'main': './main.js',
|
||||||
|
'pdf.worker': 'pdfjs-dist/build/pdf.worker.entry'
|
||||||
|
},
|
||||||
output: {
|
output: {
|
||||||
path: path.join(__dirname, '../../build/webpack'),
|
path: path.join(__dirname, '../../build/webpack'),
|
||||||
publicPath: '../../build/webpack/',
|
publicPath: '../../build/webpack/',
|
||||||
filename: 'bundle.js'
|
filename: '[name].bundle.js'
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new webpack.optimize.UglifyJsPlugin({
|
new webpack.optimize.UglifyJsPlugin({
|
||||||
|
8
make.js
8
make.js
@ -308,6 +308,7 @@ target.dist = function() {
|
|||||||
GENERIC_DIR + 'build/pdf.js',
|
GENERIC_DIR + 'build/pdf.js',
|
||||||
GENERIC_DIR + 'build/pdf.worker.js',
|
GENERIC_DIR + 'build/pdf.worker.js',
|
||||||
SINGLE_FILE_DIR + 'build/pdf.combined.js',
|
SINGLE_FILE_DIR + 'build/pdf.combined.js',
|
||||||
|
SRC_DIR + 'pdf.worker.entry.js',
|
||||||
], DIST_DIR + 'build/');
|
], DIST_DIR + 'build/');
|
||||||
|
|
||||||
mkdir('-p', DIST_DIR + 'web/');
|
mkdir('-p', DIST_DIR + 'web/');
|
||||||
@ -333,9 +334,10 @@ target.dist = function() {
|
|||||||
homepage: DIST_HOMEPAGE,
|
homepage: DIST_HOMEPAGE,
|
||||||
bugs: DIST_BUGS_URL,
|
bugs: DIST_BUGS_URL,
|
||||||
license: DIST_LICENSE,
|
license: DIST_LICENSE,
|
||||||
browser: { // used by browserify and ignores following files during bundle
|
dependencies: {
|
||||||
'entry?name=[hash]-worker.js!./pdf.worker.js': false,
|
'node-ensure': '^0.0.0' // shim for node for require.ensure
|
||||||
'./build/pdf.worker.js': false,
|
},
|
||||||
|
browser: {
|
||||||
'node-ensure': false
|
'node-ensure': false
|
||||||
},
|
},
|
||||||
format: 'amd', // to not allow system.js to choose 'cjs'
|
format: 'amd', // to not allow system.js to choose 'cjs'
|
||||||
|
@ -29,8 +29,6 @@ if (typeof window === 'undefined') {
|
|||||||
useRequireEnsure = true;
|
useRequireEnsure = true;
|
||||||
}
|
}
|
||||||
if (typeof __webpack_require__ !== 'undefined') {
|
if (typeof __webpack_require__ !== 'undefined') {
|
||||||
// Webpack - get/bundle pdf.worker.js as additional file.
|
|
||||||
workerSrc = require('entry?name=[hash]-worker.js!./pdf.worker.js');
|
|
||||||
useRequireEnsure = true;
|
useRequireEnsure = true;
|
||||||
}
|
}
|
||||||
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
||||||
|
18
src/pdf.worker.entry.js
Normal file
18
src/pdf.worker.entry.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* Copyright 2016 Mozilla Foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
(typeof window !== 'undefined' ? window : {}).pdfjsDistBuildPdfWorker =
|
||||||
|
require('./pdf.worker.js');
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user