使用pdf.js实现预览pdf文件
在Vue项目中引用pdf.js插件时发生错误,导致项目启动报错
import * as pdfjsLib from "@/untils/pdf.js"
报错:
class PDFDocumentLoadingTask {
1387 | static #docId = 0;
| ^
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包里面拷贝出来的吗
你好,我也遇到了一样的问题,请问解决了吗?
同问 太痛苦了
解决了吗
解决了吗
解决了吗????