vite项目打包nginx后在非根路径刷新页面会报Failed to load module script?

image.png

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.
export default defineConfig({
  base: './',
  minify: true

在app.xxxx.cn路径下刷新就没有问题,在https://app.xxx.cn/me/userinfo这样非根路径刷新页面就报如上图的错误?

阅读 2.8k
2 个回答
✓ 已被采纳

image.png

你这个图,看网络请求记录,应该会有一些404的错误请求记录,点看就能看到具体的请求路径了。

根据具体路径再去排查:

  1. base是否配置好,根据编译后的index.html里去确认,看看引入的script的src是否是./开头
  2. 是否发布成功到服务器
  3. 看你链接没有#,Nginx要配置rewrite
  4. 如果链接使用#号的格式,结尾应该是/#/或者/index.html#/

单页应用直接配置nginx根路由就行

location / {
  try_files $uri $uri/ /index.html;
}

多页面需要每个入口html都配置一个location,看下现在报错返回的内容是不是404页面。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏