我尝试在带有 parceljs 作为 bundler 的小型 typescript 应用程序中使用 pdfjs,但是当我加载 worker 时:
pdfjsLib.GlobalWorkerOptions.workerSrc = '../../node_modules/pdfjs-dist/build/pdf.worker.min.js';
我在 Firefox 控制台中收到此错误:
pdf.worker.min.js” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type
并且 worker 没有加载。
如果我这样加载 worker:
pdfjsLib.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${(pdfjsLib as any).version}/pdf.worker.min.js`;
一切正常。
我查看了错误的 MDN 描述,听起来像是服务器端的问题,这是包裹服务器的限制吗?是否有解决方法?
最佳答案
在您的网络服务器上检查该 .js 文件的文件权限。
我有一个类似的问题,加载我的一个 .js 文件失败并且 Firefox 打印消息:
The script from “https://my.website.com/file.js” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type.
Loading failed for the
<script>
with source “https://my.website.com/file.js”.
所有其他 .js 文件都以正确的内容类型“application/javascript”发送,但这个文件以“text/html”发送。
问题是,在将文件传输到我的网络服务器(使用 FileZilla)时,文件的权限设置为 600。将文件权限设置为 705 修复了它。.js 文件是现在以正确的内容类型发送,Firefox 消息消失了。
关于javascript - 为什么我得到一个 "df.worker.min.js” 已加载,即使它的 MIME 类型 (“text/html” 不是有效的 JavaScript MIME 类型”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55353671/