拒绝执行脚本运行时.js因为 MIME 类型不可执行



这是我在执行浏览器检查时遇到的错误 -> index.html 文件的控制台选项卡。

拒绝执行"http://localhost:63342/runtime.js"中的脚本 因为它的MIME类型('text/html'(不是可执行的,并且严格的MIME 已启用类型检查。

我的应用程序是spring-boot和Angular的集成。我相信这也是 spring-boot 无法在 UI 上提供前端 js 和.html文件内容的原因。虽然后端应用程序工作正常,但在 tomcat 服务启动时,它不会在 http://localhost:8080 上显示任何 UI。

Angular CLI: 6.0.8
Node:10.0.0
OS: darwin x64
Angular: 6.1.7

生成的索引.html具有标记:

<script type="text/javascript" src="runtime.js"></script>
<script type="text/javascript" src="polyfills.js"></script>
<script type="text/javascript" src="styles.js"></script>
<script type="text/javascript" src="vendor.js"></script>
<script type="text/javascript" src="main.js"></script>

手动将类型更改为"text/html"可以解决错误,但仍然不会在 UI 上显示任何内容。 这是由于特定的角度 cli 版本造成的问题吗?我的两个问题(弹簧不提供前端静态资源(相关吗?还是基本 href 错了? 有没有办法在不手动更改脚本标签类型的情况下不解决这个问题?因为 index.html 是在运行ng build上生成的,并放置在资源目录中。我这样做是为了使部署更容易。这是整个生成的索引.html文件:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome App</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.js"></script><script type="text/javascript" src="polyfills.js"></script><script type="text/javascript" src="styles.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script></body>
</html>

我是这方面的新蜜蜂,请提供帮助。

这是我在浏览器检查 -> 网络 -> 标头中看到的(当在 Intellij 中从浏览器选项打开文件并且 tomcat 未运行时(。 生成的某个角度文件的响应标头:

HTTP/1.1 304 Not Modified
content-type: text/html
server: IntelliJ IDEA 2018.1.2
date: Sun, 16 Sep 2018 16:08:39 GMT
X-Frame-Options: SameOrigin
X-Content-Type-Options: nosniff
x-xss-protection: 1; mode=block

但是当 tomcat 启动并运行时,请注意检查时的 200 响应:

HTTP/1.1 200
Content-Type: application/json;charset=UTF-8

由于它的 app/json 和我在响应中看到 [ ],我认为这是错误的,应该是 html 响应。

这些在索引中的 ng build 上添加的脚本标记.html是不在 UI 上显示内容或其他内容的问题?我不这么认为,因为我将我的静态内容复制粘贴到演示 gradle 项目(从 https://start.spring.io/年开始(中,它在网页上显示 UI,因此将"文本/javascript"更改为"html"并不是我认为真正的问题;但不确定。这是我在响应工作 UI 时看到的:

HTTP/1.1 200
Accept-Ranges: bytes
Content-Type: text/html;charset=UTF-8

有什么建议吗?

如果您使用的是 apache2,请检查/etc/apache2/中的 apache2.conf

确保您有以下行:

添加类型文本/JavaScript .js

确保 mod:mime 已安装并启用:

须藤A2Enmod MIME

相关内容

最新更新