在导入pdfjs-dist时出现了“SyntaxError: Unexpected token '||='”错误。

3

尝试在Node.js应用程序中使用pdfjs-dist

步骤:

创建新的Node.js应用程序(模块),然后:

npm i pdfjs-dist

package.json是:

"name": "testpdf",
  "version": "1.0.0",
  "description": "pdf test",
  "main": "testpdf.js",
  "type": "module",
  "scripts": {
    "start": "node testpdf.js"
  },
  "dependencies": {
    "pdfjs-dist": "^2.13.216"
  }
}

1行应用程序(testpdf.js)是什么

import pdfjs from 'pdfjs-dist'

导入时出现以下错误:

D:\dev\pdf\node_modules\pdfjs-dist\build\pdf.js:1707 return this._jsActionsPromise ||= this._transport.getPageJSActions(this._pageIndex); ^^^

SyntaxError: 意外的记号 '||=' at wrapSafe (internal/modules/cjs/loader.js:979:16) at Module._compile (internal/modules/cjs/loader.js:1027:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at ModuleWrap. (internal/modules/esm/translators.js:199:29) at ModuleJob.run (internal/modules/esm/module_job.js:152:23) at async Loader.import (internal/modules/esm/loader.js:166:24) at async Object.loadESM (internal/process/esm_loader.js:68:5) PS D:\dev\pdf>

如果我查看 node_modules\pdfjs-dist\build\pdf.js ,那里有多个使用此运算符 "||=" 的实例。

我不是 JavaScript 专家,但从我所知道的来看,这不是一个有效的运算符,而且 node v14.15.4 似乎也不认为它是。

请注意,该软件包版本(pdfjs-dist 2.13.216)已经上线两个月了,在网络上找不到类似的问题,因此猜测我可能做错了什么……

有任何想法吗?

2个回答

3

我之前使用的是一个旧版本的NodeJS,后来我将其升级到了最新版本v18.1.0,问题得到了解决。


或者根据这里的规定(https://github.com/mozilla/pdf.js/issues/13273#issuecomment-823524483),您可以将pdfjs-dist降级到版本2.3.200。 - Foxlab
对我来说都是同样的问题!我移除了pdfjs-dist然后重新安装了它:npm install pdfjs-dist@2.3.200,之后它就正常工作了。 - undefined

0

你也可以通过他们的传统构建方式(与node兼容)来使用。

const pdfjsLib = require("pdfjs-dist/legacy/build/pdf.js");

pdfjs 版本:(3.2.146)
node 版本:(14.21.3)

安装

npm i pdfjs-dist@3.2.146

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接