gpt4 book ai didi

javascript - 拒绝执行脚本 runtime.js,因为 MIME 类型不可执行

转载 作者:行者123 更新时间:2023-12-05 07:30:26 28 4
gpt4 key购买 nike

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

Refused to execute script from 'http://localhost:63342/runtime.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

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

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

生成的index.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 上显示任何内容。这是由于特定的 angular-cli 版本导致的问题吗?我的两个问题(spring 不提供前端静态资源)是否相关?还是 base href 错误?有没有办法在不手动更改脚本标签类型的情况下解决这个问题?因为 index.html 在运行 ng build 时生成并放置在资源目录中。我这样做是为了让部署更容易。这是整个生成的 index.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>

我是这方面的新人,请大家帮忙

这是我在浏览器检查 -> 网络 -> header 中看到的(当从 Intellij 中的浏览器选项打开文件并且 tomcat 未运行时)。生成的 Angular 文件之一的响应 header :

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 响应。

在 index.html 的 ng build 上添加的这些脚本标签是否会导致不在 UI 或其他地方显示内容的问题?我不这么认为,因为我复制粘贴了我的静态内容在一个演示 gradle 项目中(来自 https://start.spring.io/),它在网页上显示 UI,因此我认为将“text/javascript”更改为“html”并不是真正的问题;但不确定。这就是我看到的对工作 UI 的响应:

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

有什么建议吗?

最佳答案

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

确保你有这一行:

AddType 文本/javascript .js

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

sudo a2enmod mime

关于javascript - 拒绝执行脚本 runtime.js,因为 MIME 类型不可执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52323908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com