pdfjs部署后预览区域空白pdfjs预览文件出现空白pdfjs空白

  1. 说明服务器没有正确识别 .mjs 文件的类型(浏览器将其视为 “未知下载文件” 而非 “JavaScript 模块”),导致 PDF.js 无法加载模块,最终预览失败。这是服务器 MIME 类型配置错误导致的,需要针对性解决。

    核心原因

    .mjs 是 ES 模块专用格式,浏览器需要服务器返回正确的 MIME 类型(application/javascript 或 text/javascript)才能识别为可执行的 JavaScript 模块。如果服务器返回的 MIME 类型是 application/octet-stream(默认未知文件类型),浏览器会触发下载而非加载,导致模块导入失败。
  2. 打开 Nginx 配置文件:

    宝塔面板 → 网站 → 你的站点(如)→ 【设置】→ 【配置文件】。

  3. 添加 MIME 类型配置:

    在配置文件的 http { ... } 块内(或 server { ... } 块内),找到 types { ... } 区域,添加 .mjs 的映射:

    nginx
    http {
        # 其他配置...
        types {
            text/html html htm shtml;
            text/css css;
            text/javascript js mjs;  # 关键:给 .mjs 绑定 JavaScript 类型
            application/javascript js mjs;  # 双重保险
            # 其他默认类型...
        }
        # 其他配置...
    }
    
  4. 重启 Nginx 生效:

    宝塔面板 → 软件商店 → 找到 Nginx → 【重启】。