首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tesseract.js示例返回Uncaught : Tesseract.TesseractWorker不是构造函数

Tesseract.js示例返回Uncaught : Tesseract.TesseractWorker不是构造函数
EN

Stack Overflow用户
提问于 2019-07-12 17:05:52
回答 3查看 2.7K关注 0票数 2

我从https://github.com/naptha/tesseract.js下载了https://github.com/naptha/tesseract.js库,示例代码basic.html对我不起作用--我在控制台上看到了这个错误:

Uncaught : Tesseract.TesseractWorker不是构造函数

我更改了添加,以修复由于某种原因出现的“未找到的文件”错误:

代码语言:javascript
复制
<script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js'></script>

而不是

代码语言:javascript
复制
<script src="/dist/tesseract.dev.js"></script>

但我觉得我好像错过了一种依赖

以下是basic.html代码:

代码语言:javascript
复制
<script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js'></script>
<input type="file" onchange="const worker = new Tesseract.TesseractWorker({ corePath: '../../node_modules/tesseract.js-core/tesseract-core.wasm.js' });worker.recognize(this.files[0]).progress(function(data){console.log(data)}).then(function(data){console.log(data)})">

Uncaught : Tesseract.TesseractWorker不是构造函数

EN

回答 3

Stack Overflow用户

发布于 2021-11-24 19:07:46

为了澄清,应该是:

代码语言:javascript
复制
const { createWorker } = require("tesseract.js");
const worker = createWorker();

不要像我在几篇关于这个问题的文章中看到的那样使用new,至少在2.0.0-beta.2版本中是这样。

票数 1
EN

Stack Overflow用户

发布于 2020-01-04 09:29:51

当引发此错误时,我了解您在html部分中工作。但我几乎可以肯定,这个错误来自于使用折旧后的TesseractWorker创建构造函数时,

代码语言:javascript
复制
const { TesseractWorker } = require("tesseract.js");
const worker = new TesseractWorker();

TesseractWorker在较新版本的tesseract.js和tesseract.js-core中贬值,因此必须使用createWorker()代替。

代码语言:javascript
复制
const { createWorker } = require("tesseract.js");
const worker = new createWorker({
  logger: m => console.log(m),
});

这将纠正详细说明TesseractWorker不是构造函数的错误,这取决于如果您有tesseract.js的版本2.0+,那么您将被迫使用createWorker,因为TesseractWorker是折旧的。

票数 0
EN

Stack Overflow用户

发布于 2020-03-17 19:18:23

你可以用,

代码语言:javascript
复制
const createWorker = require("tesseract.js");

而不是,

代码语言:javascript
复制
const { TesseractWorker } = require("tesseract.js");        
const worker = new TesseractWorker();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57011300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档