Vite + Vue3 + Ts 解决打包生成的index.html页面显示空白、资源跨域、找不到资源、404-Page Not Found等错误;关于vite build后访问报错 关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “

这篇具有很好参考价值的文章主要介绍了Vite + Vue3 + Ts 解决打包生成的index.html页面显示空白、资源跨域、找不到资源、404-Page Not Found等错误;关于vite build后访问报错 关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.vite.config.ts配置:主要的就是base: env.VITE_MODE === 'production' ? './' : '/',

import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue';
import path from "path";
import { resolve } from 'path'
const port = 8080;
const host = "0.0.0.0";
export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, __dirname)
  return {
    plugins: [
      vue(),
    ],
    base: env.VITE_MODE === 'production' ? './' : '/',
    resolve: {
      alias: {
        //resolve.alias设置别称 解决@绝对路径引入问题
        "@": path.resolve(__dirname, 'src'),
        "@assets": path.resolve(__dirname, "src/assets"),
        "@components": path.resolve(__dirname, "src/components"),
        "@images": path.resolve(__dirname, "src/assets/images"),
        "@views": path.resolve(__dirname, "src/views"),
        "@store": path.resolve(__dirname, "src/store"),
      },
    },
    css: {
      // css预处理器
      preprocessorOptions: {
        less: {
          modifyVars: {
            // 全局less变量存储路径(配置less的全局变量)
            hack: `true; @import (reference) "${resolve('src/public/config.less')}";`,
          },
          javascriptEnabled: true,
        }
      }
    },
    build: {
      outDir: "dist",
      assetsDir: "assets", //指定静态资源存放路径
      sourcemap: false, //是否构建source map 文件
      // terserOptions: {
      //   // 生产环境移除console
      //   compress: {
      //     drop_console: true,
      //     drop_debugger: true,
      //   },
      // },
    },
    server: {
      https: false, // 是否开启 https
      open: true, // 是否自动在浏览器打开
      port: port, // 端口号
      host: host,
      proxy: {
        "/api": {
          target: env.VITE_RES_URL, // 后台接口
          changeOrigin: true,
          secure: false, // 如果是https接口,需要配置这个参数
          ws: true, //websocket支持
          rewrite: (path) => path.replace(/^\/api/, ""),
        },
      },
    },
  }
})

二. 打包后的结果如图所示,文件路径是./ 其实 去掉./是可以的,但是打包后是/favicon.ico这种路径是访问不到的,参考第一部分

vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

三. 配置路由:路由改成 createWebHashHistory 

vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

 四. vscode安装Live Server 

vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

 vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

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

vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

部署到线上时,页面一刷新就会报上述错误,百度了半天也没解决,参考了这个大佬的文章,写的很详细,跟着步骤做也是可以解决报错的!

下面说一下我的解决方式 :

 1. base 设置成 './'   

vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

 2. 路由模式改成 createWebHashHistory即可

vite打包后直接打开html 空白,vite,前端,开发语言,vue.js,html

 Tips:参考了好多大佬写的,有的把base './'  改成 '/'的 不过我改成 '/' 资源路径不对还是白屏,跟着配置一圈没解决,无意中把路由模式 createWebHistory 改成 createWebHashHistory 就解决了问题!白屏也跟Nginx有关。欢迎各位大佬批评指正与补充!文章来源地址https://www.toymoban.com/news/detail-665802.html

到了这里,关于Vite + Vue3 + Ts 解决打包生成的index.html页面显示空白、资源跨域、找不到资源、404-Page Not Found等错误;关于vite build后访问报错 关于vite build后访问报错:Expected a JavaScript module script but the server responded with a MIME type of “的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vite+vue3+ts搭建项目八(打包性能优化三:使用CDN)

    使用vite-plugin-cdn-import 下载npm包 官方github:https://github.com/MMF-FE/vite-plugin-cdn-import 开发环境使用本地的npm包,cdn是打包时候才生效 在vite.config.ts中通过importToCDN引入 注意事项 :网上很多教程,还需要在 build 的 rollupOptions 添加对应的 external ,如上注释所示,其实是不需要的,

    2024年02月02日
    浏览(78)
  • vue3-ts-vite:vue 项目 配置 多页面应用

    一、Vue项目,什么是多页面应用 Vue是一种单页面应用程序(SPA)框架,这意味着Vue应用程序通常只有一个HTML页面,而在该页面上进行动态的内容更改,而不是每次都加载新的HTML页面。  但是,有时候我们需要在同一应用程序中拥有多个独立的页面,每个页面都可以单独处理

    2024年02月14日
    浏览(30)
  • 2023 最新最细 vite+vue3+ts 多页面项目架构,建议收藏备用!

    本文教程 github地址 、码云。 如果对你有帮助,希望能点个star ⭐️⭐️⭐️ 万分感谢😊😊😊 不久前我司需要重新部署一个前端项目,由我来负责这个项目的搭建。因为这个项目是需要和app混合开发的h5页面,包括以后可能会做一些运营h5,所以自然不能采用常规的 SPA单页

    2024年02月06日
    浏览(33)
  • vite vue3项目打包部署空白页面问题的处理

     问题:vite vue3项目打包部署上线后,发现是空白页面问题的处理 解决方法:1.在我们vite.config.js文件中检查是否有路径的指向                                       2.查看我们的路由模式,将路由模式修改为createWebHashHistory                           

    2024年02月11日
    浏览(35)
  • vite vue3+ts @引入无提示/解决提示报错

    1. setting.json  这时候已经有提示了 但是ts会报错   tsconfig.json  以@开头代表src目录下 以#开头代表ts目录下  配置好后 重新引入 没有红色波浪线但是 vite不认识 @符号 运行项目还是会报错  这时候就需要在vite.config.ts中添加配置 如果path会报错 需要下载一下@types/node 再重启下

    2024年02月15日
    浏览(34)
  • 新建vite+vue3+ts项目,以及解决过程中遇到的问题

    目录 一、新建vite+vue3+ts项目 二、解决过程中遇到的问题 解决报错:Module ‘“xx.vue“‘ has no default export. 解决报错:Error [ERR_MODULE_NOT_FOUND]: Cannot find package ‘uuid’ imported from xxx的解决 解决报错:[plugin:vite:css] Preprocessor dependency \\\"less\\\" not found. Did you install it? 此处我使用npm做一下

    2024年02月06日
    浏览(113)
  • Vue3 - vite 引入本地图片方法,页面引入本地静态资源图像详细教程,解决 UI 前端组件库的图片属性无法使用本地图像问题(无论是本地开发还是打包部署,本地图片的路径正常可用)

    在 webpack 中通常用 require() 来引入静态图片,但在 vite 中这种方法就不行了。 本文实现了 在 vue3+vite 项目开发中,实现引入本地图片(静态资源),并且 build 打包后依然正常运行, 支持普通 img 标签使用,也支持 UI 组件库的各种 “图片属性” 当参数进行使用。 如下图所示

    2024年02月08日
    浏览(45)
  • 解决vue3 + vite + ts 中require失效的问题(require is not defind)

    require is not defind  因为 require 是属于 Webpack 的方法,vite中找不到这个方法肯定报错 解决方法:创建一个工具文件getImge.ts 使用工具文件: html中

    2024年02月16日
    浏览(37)
  • uni_app+vite+vue3+ts开发小程序,解决getUserProfile()获取用户信息问题

    最近开发小程序,开发环境uni_app+vue3等。在获取小程序平台用户信息是报错: {errMsg: \\\"getUserProfile:fail must be invoked by user tap gesture\\\", errNo: 21500} 我在抖音上查了下错误码: 看到这个解释也是瞬间无语了,然后在平台查找错误,找了半天终于在vue2 升级vue3文档里面找到解决办法

    2024年02月04日
    浏览(53)
  • 记Vite打包时出现的报错解决:<script src=“xxx.js“> in “/index.html“ can‘t be bundled without type=“module“ attrib

    本篇博客记录解决Vite打包时报错: script src=\\\"xxx.js\\\" in \\\"/index.html\\\" can\\\'t be bundled without type=\\\"module\\\" attribute 或 xxx.css didn\\\'t resolve at build time, it will remain unchangel remain unchanged to be resolved at runtime 当我们通过标签script 引入js脚本代码时,出现:can\\\'t be bundled without type=\\\"module\\\" attribute,报错

    2024年02月07日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包