You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

纯HTML/CSS/PHP网站跳转Three.js页面遇MIME类型错误求助

解决PHP服务器环境下Three.js模块脚本MIME类型错误问题

问题场景

搭建纯HTML/CSS/PHP网站时,设置按钮跳转至Three.js页面,跳转代码如下:

<body>
    <h1>Welcome to the PHP Website</h1>
    <button onclick="redirectToThreeJS()">Go</button>

    <script>
        function redirectToThreeJS() {
            window.location.href = "three/index.html";
        }
    </script>
</body>

Three.js页面使用了模块类型脚本:<script type="module" src="src/main.jsx"></script>,点击跳转后仅显示页面标题,Three.js程序无法运行,控制台报错:

main.jsx:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec.

解决方案

1. 配置服务器正确识别.jsx文件的MIME类型

浏览器加载type="module"的脚本时,要求服务器返回标准的text/javascript MIME类型,但多数服务器默认不识别.jsx后缀,导致返回空MIME类型触发报错。根据你使用的服务器类型配置:

  • Apache服务器:在网站根目录或three文件夹下创建/修改.htaccess文件,添加:
    AddType text/javascript .jsx
    
  • Nginx服务器:在对应server配置块中添加MIME映射:
    types {
        text/javascript js jsx;
    }
    
  • PHP内置开发服务器:由于它默认不支持.htaccess,可以创建一个router.php脚本:
    <?php
    $requestPath = $_SERVER['REQUEST_URI'];
    $fileExt = pathinfo($requestPath, PATHINFO_EXTENSION);
    
    if ($fileExt === 'jsx') {
        header('Content-Type: text/javascript');
        readfile(__DIR__ . $requestPath);
        exit;
    }
    
    // 其他请求交给默认处理
    return false;
    
    启动服务器时指定路由脚本:
    php -S localhost:8000 router.php
    

2. 验证文件路径正确性

检查src/main.jsx的路径是否相对于three/index.html正确。如果路径错误导致服务器返回404页面,也会触发MIME类型错误(因为404页面的MIME类型不是text/javascript)。

3. 简化方案:重命名.jsx文件为.js

如果不想配置服务器MIME类型,直接将main.jsx重命名为main.js,并修改Three.js页面的脚本标签:

<script type="module" src="src/main.js"></script>

.js后缀是服务器默认识别的JavaScript文件类型,会自动返回正确的MIME类型。

原因说明

HTML规范对模块脚本的MIME类型检查有严格要求,服务器必须返回text/javascript(或相关JavaScript类MIME类型),否则浏览器会拒绝加载脚本。.jsx属于非标准后缀,未在服务器默认MIME映射中,因此返回空MIME类型导致加载失败。

内容的提问来源于stack exchange,提问作者MozzyMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:12:37