Vue使用pdf.js报错

问题遇到的现象和发生背景

使用pdf.js实现预览pdf文件
在Vue项目中引用pdf.js插件时发生错误,导致项目启动报错

问题相关代码,请勿粘贴截图

import * as pdfjsLib from "@/untils/pdf.js"

运行结果及报错内容

报错:
class PDFDocumentLoadingTask {

1387 | static #docId = 0;
| ^

img

我的解答思路和尝试过的方法

import * as pdfjsLib from "@/untils/pdf.js"
或者
import pdfjsLib from "@/untils/pdf.js"
两种方式都试过不可以,降低版本也试过,该句代码pdfjsLib.getDocument()会出现getDocument' of undefined的报错

我想要达到的结果

这个问题通常是因为Webpack不能正确处理JavaScript中的新语言特性,例如私有类字段(私有字段)。私有类字段是JavaScript的一种新特性,用于定义私有属性或方法。但是,在一些旧版Webpack中,可能没有安装或配置正确的Babel插件,不能正确解析这些新特性,从而导致解析错误。
解决这个问题的方法是安装并配置正确的Babel插件。下面是一个示例的配置:
1.安装babel-loader:
npm install -D babel-loader
2.安装@babel/core、@babel/preset-env和@babel/plugin-proposal-class-properties:
npm install -D @babel/core @babel/preset-env @babel/plugin-proposal-class-properties
3.在webpack配置文件中添加以下规则:

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env'],
          plugins: ['@babel/plugin-proposal-class-properties']
        }
      }
    }
  ]
}

这将使用Babel加载器为JavaScript文件启用@babel/preset-env和@babel/plugin-proposal-class-properties插件,从而可以正确地处理私有类字段等新语言特性。

const pdfjsLib = require("@/untils/pdf.js"); 引入方式同样报错,怀疑是插件内的写法不兼容

这个 可能时 插件的问题 。去github 上isseus里找找方案 。也可以自己提问

https://github.com/mozilla/pdf.js/issues/15083

PDF.js 是一个使用 HTML5 构建的可移植文档格式 (PDF) 库。我们的目标是创建一个通用的、基于 Web 标准的平台来解析和呈现 PDF。

这是 PDF.js 源代码的预构建版本。它由构建脚本自动生成。

用于较旧的浏览器或环境,不支持现代功能,例如async/ await、可选链接、无效合并和私有class字段/方法;请查看legacy/文件夹。

有关学习和贡献,请参阅https://github.com/mozilla/pdf.js。

window.pdfjsLib 试下行不行

@/untils/pdf.js 你是从npm包里面拷贝出来的吗

你好,我也遇到了一样的问题,请问解决了吗?

同问 太痛苦了

解决了吗

解决了吗

解决了吗????