reactjs:在 public 文件夹中提供的文件在生产构建中解析为 404 错误,但在开发中使用 npm start

reactjs: files served into public folder resolve into a 404 error in production build but work in development with npm start

我正在尝试为 Web 程序包提供 javascript 所需的 2 个文件。文件 example.wasm 和 example.data 位于 react js 项目文件结构中的 public 文件夹中。当运行一个开发服务器使用npm start时,文件可以被项目找到并且可以正确读取。构建项目时,文件按预期最终位于项目的根目录中。尽管使用文件的当前 PUBLIC_URL 路径,但找不到文件,但 Web 控制台中的路径似乎是正确的。

我正在托管来自 IIS 7 的 reactjs 应用程序。

你能帮我解决上面描述的问题吗?

预先感谢您的帮助。

在@LexLi 的帮助下,我按照此文档在 IIS 中启用了失败请求跟踪模块:

[https://docs.microsoft.com/en-us/iis/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis][1]

阅读失败请求跟踪模块生成的日志,我看到当从服务器请求文件 example.wasm 和 example.data 时,实际错误不是 404 Not Found 而是:

SECURITY_DENIED_BY_MIMEMAP

在谷歌搜索上面的错误后,我意识到 IIS 中配置的默认 MIME 类型不包括扩展名为 .data 和 .wasm 的文件。使用 IIS 管理中 Web 服务器级别的 MIME 类型模块将这些 MIME 类型添加到 IIS 配置并重新启动服务器后,问题得到解决。