簡體   English   中英

拒絕執行腳本runtime.js,因為MIME類型不可執行

[英]Refused to execute script runtime.js because MIME type is not executable

這是執行瀏覽器檢查-> 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

生成的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時生成的,並且被放置在resources目錄中。 我這樣做是為了簡化部署。 這是整個生成的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>

我是新蜜蜂,請提供幫助。

這就是我在瀏覽器檢查->網絡->標頭中看到的內容(當從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上添加的腳本標簽是否內置在index.html中,是由於未在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:

須藤a2enmod啞劇

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM