Vite+TS React项目部署Netlify遇MIME类型错误如何解决?
问题解决:Netlify部署Vite+TS React项目MIME类型错误
你的问题根本不是script标签的type设置问题,而是你部署的是未编译的源码文件,Netlify服务器无法处理TSX文件,所以返回了错误的MIME类型(application/octet-stream)。
正确解决步骤:
- 先在本地执行构建命令:
npm run build(Vite默认会把项目编译到dist文件夹) - 部署时要指定Netlify使用
dist目录作为发布目录,而非项目根目录 - 构建完成后,
dist/index.html里的script标签会自动生成正确内容,比如:
这个自动生成的标签是正确的,无需手动修改原项目的index.html。<script type="module" src="/assets/main.xxxx.js"></script>
已部署错误内容的修正方法:
- 重新执行
npm run build确保dist目录为最新编译产物 - 用Netlify CLI重新部署:
netlify deploy --prod --dir=dist(明确指定部署dist文件夹) - 或在Netlify后台站点设置的「构建与部署」中,将发布目录改为
dist
你修改type属性无效的原因很简单:浏览器本身无法识别TSX文件,必须经过Vite编译为浏览器可解析的JS模块,直接引用src/main.tsx不管设置什么type都无法正常加载。
内容的提问来源于stack exchange,提问作者Mihai
相关产品推荐
相关产品推荐

