javascript - pdf.js 升级到 1.9.426 版本后找不到 pdf.worker.js
问题描述
我们之前使用的版本是 1.1.114,我们的设置运行良好。我们将 pdf.js 和 pdf.worker.js 放在同一个目录下(Scripts/Libs/Common),在我们的 main.js 上,我们定义了 PDFJS.workerSrc 的路径。
我们决定升级到 v1.9.426,因为我们已经解决了一些问题,但问题是:控制台错误
出现此错误是因为 pdf.js 找不到 pdf.worker.js。目前,我的解决方法是将 pdf.js 和 pdf.worker.js 上的路径更新到我们放置这两个文件的目录。这些是我更新的部分:
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
}
var dynamicLoaderSupported = typeof requirejs !== 'undefined' &&
requirejs.load;
fakeWorkerFilesLoader = useRequireEnsure ? function (callback) {
require.ensure([], function () {
var worker;
worker = require('./pdf.worker.js');
callback(worker.WorkerMessageHandler);
});
} : dynamicLoaderSupported ? function (callback) {
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
callback(worker.WorkerMessageHandler);
});
} : null;
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define("pdfjs-dist/build/pdf.worker", [], factory);
else if(typeof exports === 'object')
exports["pdfjs-dist/build/pdf.worker"] = factory();
else
root["pdfjs-dist/build/pdf.worker"] =
root.pdfjsDistBuildPdfWorker =
factory();
})
为什么新版本上的路径是硬编码的?我应该如何正确解决这个问题?
解决方案
推荐阅读
- flutter - 我们必须选择哪个 BuildContext?内层还是外层?
- matlab - MATLAB:表的相等行或字符串的相等字
- java - 工具栏从曲线滚动到正常图像重叠
- mongodb - 我可以将 3.6 次要添加到 2.6 MongoDB 副本集吗
- java - 如何为 Webflux 应用程序包装阻塞 IO 操作
- angular - 在Angular 6中重置反应表单时输入不会禁用
- asp.net-core - 我无法在 .net core 3.1 Web 应用程序中将现有项目(.net core worker service app)添加为 azure webjob
- c++ - 通过迭代器修改不反映
- android - 如何限制用户仅从 Cloud Firestore 检索他们的数据?
- python - 转义空格的问题?系统找不到路径