在这里插入图片描述
vite 打包生成的文件如果直接放在服务器中是可以正常访问的,但是本地直接访问打包生成index.html文件就会提示以下问题。

访问的文件不存在,主要是因为路径配置问题。

提示跨域问题,不支持files协议,主要是因为esModule问题。

问题1:访问的文件不存在,主要是因为路径配置问题。
解决:在 vite.config.js文件中配置
主要:打包静态文件必须是根路径,否则放到服务器找不到静态资源(同理于webpack中的publicPath 的配置)
解决方法:
在vite.config.ts中设置:base: "./"具体代码如下

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  base: "./", //等同于  assetsPublicPath :'./'
  plugins: [vue()],
  // 设置文件./src路径为 @
  resolve: {
    // 设置文件./src路径为 @
    alias: [
      {
        find: '@',
        replacement: resolve(__dirname, './src')
      }
    ],
    dedupe: [
      'vue'
    ]
  },

})

在这里插入图片描述
再次打包问题解决——

Logo

前往低代码交流专区

更多推荐