require is not defined pdf.js文件报错 uni-app

require is not defined pdf.js文件报错 uni-app

操作步骤:

  • 入参为在线pdf require is not defined pdf.js文件报错

预期结果:

  • 正常预览

实际结果:

  • require is not defined pdf.js文件报错

bug描述:

  • require is not defined pdf.js文件报错

| 开发环境           | 版本号 | 项目创建方式 |
|-------------------|--------|-------------|
| Windows           | win10  | HBuilderX   |
| HBuilderX         | 4.65   |             |
| 浏览器平台         |        |             |
| Chrome            |        |             |

更多关于require is not defined pdf.js文件报错 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

hello,请提供一下相关的代码片段才能够帮助你判断问题,或者提供可以复现的测试项目

更多关于require is not defined pdf.js文件报错 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是uni-app环境下使用pdf.js的常见问题。原因是uni-app的H5端运行在浏览器环境中,不支持Node.js的require语法。

解决方案:

  1. 使用CDN方式引入pdf.js:
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.12.313/pdf.min.js"></script>
  1. 或者在项目中直接下载pdf.js文件,放在static目录下,然后通过相对路径引入:
import * as pdfjsLib from '@/static/pdf.js'
  1. 如果要在小程序端使用,需要额外配置:
// 条件编译
// #ifdef H5
import * as pdfjsLib from 'pdfjs-dist'
// #endif
// #ifdef MP-WEIXIN
const pdfjsLib = require('pdfjs-dist')
// #endif
  1. 确保正确设置worker路径:
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.12.313/pdf.worker.min.js'
回到顶部