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