从 webpack 加载 bundle.js 文件将 mime 类型更改为 text/html

pj0*_*013 5 javascript serverside-javascript express server-side-rendering react-redux

我正在尝试使用 react-redux 和 express 为服务器实现应用程序的服务器端渲染,webpack 用于创建包。

我开始使用以下文档:

https://redux.js.org/docs/recipes/ServerRendering.html

我有以下设置来加载从 webpack 创建的 main.js:

<script type="application/javascript" src="/static/main.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是,在启动快速服务器时,这是我在控制台中看到的:

Refused to execute script from 'http://localhost:8080/static/main.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
Run Code Online (Sandbox Code Playgroud)

这不会在任何浏览器中启动。知道会发生什么吗?

小智 4

在我看来这是配置问题。

如果它返回MIME type ('text/html'),则意味着在该特定路径上它无法找到/解析该main.js文件,因此它返回默认的 404 html 页面,该页面被严格定义为 javascript。

因此,理想情况下,您可以配置 Express 服务器来提供静态文件,如下所示。

app.use(express.static(__dirname + "/static"));
Run Code Online (Sandbox Code Playgroud)

更多详情,您可以参考::-> https://expressjs.com/en/starter/static-files.html

 

快乐编码!