diff --git a/src/browser/index.js b/src/browser/index.js index 358f00d..4347a7e 100644 --- a/src/browser/index.js +++ b/src/browser/index.js @@ -47,7 +47,7 @@ exports.defaultOptions = { ...defaultOptions, workerPath: process.env.NODE_ENV === 'development' ? resolveURL(`/dist/worker.dev.js?nocache=${Math.random().toString(36).slice(3)}`) - : `https://cdn.jsdelivr.net/gh/naptha/tesseract.js@v${version}/dist/worker.min.js`, + : `https://cdn.jsdelivr.net/gh/naptha/tesseract.js@v${version}/dist/worker.min.js`, /* * If browser doesn't support WebAssembly, * load ASM version instead @@ -68,7 +68,7 @@ exports.defaultOptions = { exports.spawnWorker = (instance, { workerPath }) => { let worker; if (window.Blob && window.URL) { - const blob = new Blob([`importScripts("${resolveURL(workerPath)}");`]); + const blob = new Blob([`importScripts("${workerPath}");`]); worker = new Worker(window.URL.createObjectURL(blob)); } else { worker = new Worker(workerPath); diff --git a/src/browser/worker.js b/src/browser/worker.js index f54e5cd..b961eb4 100644 --- a/src/browser/worker.js +++ b/src/browser/worker.js @@ -9,7 +9,6 @@ */ const check = require('check-types'); -const resolveURL = require('resolve-url'); const workerUtils = require('../common/workerUtils'); /* @@ -27,7 +26,7 @@ workerUtils.setAdapter({ getCore: (corePath, res) => { if (check.undefined(global.TesseractCore)) { res.progress({ status: 'loading tesseract core', progress: 0 }); - global.importScripts(resolveURL(corePath)); + global.importScripts(corePath); /* * Depending on whether the browser supports WebAssembly, * the version of the TesseractCore will be different. diff --git a/src/common/TesseractWorker.js b/src/common/TesseractWorker.js index a9b3cfc..9c92afc 100644 --- a/src/common/TesseractWorker.js +++ b/src/common/TesseractWorker.js @@ -8,6 +8,7 @@ * @author Jerome Wu */ const check = require('check-types'); +const resolveURL = process.browser ? require('resolve-url') : s => s; const adapter = require('../node'); const circularize = require('./circularize'); const TesseractJob = require('./TesseractJob'); @@ -50,6 +51,11 @@ class TesseractWorker { ...adapter.defaultOptions, ...options, }; + ['corePath', 'workerPath', 'langPath'].forEach((key) => { + if (check.not.undefined(options[key])) { + this.options = { ...this.options, [key]: resolveURL(options[key]) }; + } + }); this._currentJob = null; this._queue = []; }