关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “

关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “问题说明最近刚开始用上vite开发项目,结果就遇到了很多坑。其中一个是,vite项目执行“vitebuild”并部署上线后,在浏览器中访问就会有以下关于路由的奇怪问题:我们用嵌套路由开发的页面生成的路径,个别菜单在初次加载、或者二次刷新加载时,都会报错如:Failedtoloadmodulescript:ExpectedaJavaScriptmodulescriptbuttheserverrespondedwithaMIMEtypeof”text/

大家好,欢迎来到IT知识分享网。

问题说明

最近刚开始用上vite开发项目,结果就遇到了很多坑。

其中一个是,vite 项目 执行 “vite build” 并部署上线后,在浏览器中访问就会有以下关于路由的奇怪问题:

我们用嵌套路由开发的页面生成的路径,个别菜单在初次加载、或者二次刷新加载时,都会报错如:Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of “text/html”. Strict MIME type checking is enforced for module scripts per HTML spec.

Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

解决流程:

当然是先去官方github的issue里看下有没有人遇到同样的问题:

Issues · vitejs/vite · GitHubNext generation frontend tooling. It’s fast! Contribute to vitejs/vite development by creating an account on GitHub.关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “https://github.com/vitejs/vite/issues?q=text%2Fhtml一搜还真的有:

https://github.com/vitejs/vite/issues/4260icon-default.png?t=L892https://github.com/vitejs/vite/issues/4260

但是高兴太早,好像他的问题和我的问题原因不太一样,因为解决方案里说router的component引入的路由文件要带“.vue”后缀,但我的都有,还是有同样的问题。(大家可以对照这个方案,看下你的代码是不是这个原因。)

继续研究我的问题,控制台报错有给sourceMap,能看到是因为哪个文件报错的。我根据文件路径,在“network”里发现,这些报错的文件都有一个通病:

1、路径不对;2、Content-Type不对。

关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “

很明显路径上的dashboard就是多出来的一块、错误的路径。当我从根路径刷新favicon文件的第一次加载路径是对的,但如果我在dashboard这个路径下的某个文件执行刷新时,favicon就会报这个错误了。说明,他加载静态资源时,相对路径是上一级、而不是根路径导致的。

关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “ 

解决方案:

抱着试一试的态度,我找到vite关于静态资源路径的配置:配置 Vite | Vite 官方中文文档 下一代前端开发与构建工具关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “https://cn.vitejs.dev/config/#base

根据官网的说明文档,我将代码修改如下(VITE_PUBLIC_PATH变量在vite.config.js中引用了)

1、变量路径改为:‘/’

这个路径之前的设置是“./”,但是官网说了,“./”是用于开发环境的

关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “

 

2、将vite的配置base修改为刚才设置的路径

关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “

 


再次部署后,以上问题解决了。嵌套路由、多层路径、多层路径下刷新,都不会报着个错误了。 

希望可以帮助到大家。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14495.html

(0)
上一篇 2024-02-27 10:15
下一篇 2024-02-27 16:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信