Javascript 服务工作者未在实时(https)服务器上加载

Javascript 服务工作者未在实时(https)服务器上加载,javascript,.htaccess,vue.js,service-worker,Javascript,.htaccess,Vue.js,Service Worker,当在本地主机上时,service worker.js加载并正常工作,但在实时服务器上它没有加载,我在控制台中遇到以下错误: The script has an unsupported MIME type ('text/x-js'). Failed to load resource: net::ERR_INSECURE_RESPONSE Uncaught (in promise) DOMException: Failed to register a ServiceWorker: The scrip

当在本地主机上时,
service worker.js
加载并正常工作,但在实时服务器上它没有加载,我在控制台中遇到以下错误:

The script has an unsupported MIME type ('text/x-js').
Failed to load resource: net::ERR_INSECURE_RESPONSE
Uncaught (in promise) DOMException: Failed to register a ServiceWorker: The script has an unsupported MIME type ('text/x-js').
有一个从http到https的重定向,带有
.htaccess
,如下所示:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  • 我知道这个问题已经得到了解决,但还没有完全得到回答
  • 我知道这可能与.htaccess文件有关,比如 提到
  • 它也可能与vue.js框架有关
但最终我还是无法理解这一点


有什么想法吗?

您的live server应该返回HTTP响应头
内容类型
,值为“application/javascript”。相反,它返回“text/x-js”。理想情况下,还应支持UTF8。尝试将这些行添加到
.htaccess
以更正所有*.js URI的MIME类型:

AddType application/javascript .js 
AddCharset utf-8 .js 
检查Chrome DevTools中的HTTP响应头,确保服务器响应头
内容类型:text/javascript;当您请求service-worker.js URL时,charset=utf-8