vite@2 构建中缺少组件和资产

Missing components and assets in vite@2 build

我能够使用 vite@1 进行功能构建,现在我已经更新了我的配置和我的模块以使用 vite@2,一些资产和组件无法正确加载并且具有不正确的路径对应真实的绝对路径。

它在 dev 上运行完美,虽然我正在用 electron 制作应用程序,但这应该不是问题,因为正如我之前提到的,使用 vite@1 构建很好。

这不是资产的问题,它们存在于构建文件夹中。需要的时候好像有问题。

这是一个更详细的问题,您可以在其中找到所有错误消息和屏幕截图:

https://github.com/MangoTsing/vite-electron-quick/issues/11

Although I don't think it has to do with electron, again. Still I put it on vite-electron-quick to rule out the possibility.

这是我的vite配置:

import { join } from 'path'
import { UserConfig } from 'vite'
import dotenv from 'dotenv'
import vue from '@vitejs/plugin-vue'

dotenv.config({ path: join(__dirname, '.env') })
const root = join(__dirname, 'src/render')

const config: UserConfig = {
  root,
  resolve: {
    alias: {
      '/@/': root,
    }
  },
  base: './',
  build: {
    outDir: join('../../dist/render'),
    emptyOutDir: true,
    assetsInlineLimit: 0
  },
  server: {
    port: +process.env.PORT,
  },
  plugins: [
    vue()
  ],
  optimizeDeps: {
    exclude: [
      'electron-is-dev',
      'electron-store',
    ]
  },
}

export default config

复制

https://github.com/denyncrawford/mismor-guillotine

系统信息

已解决!发生这种情况是因为如果应用程序未提供服务,vue-router 的 createWebHistory() 无法处理导航。它在开发模式下工作,因为 vite 为应用程序提供服务,但当您在浏览器中构建和打开文件时,它不会。所以你可能会说:这是非常基本的,嗯,不......实际问题是由于 vite 在vite@2 以及入门代码模板必须适应它的方式。我在 electron 中使用 vite,所以迁移我正在使用的 starter 有点盲目 运行。我发现starter不再服务文件而是直接在electron上加载文件main.js,所以因为不知道这是为什么,所以我没有再次服务文件,而是改为createWebHashHistory() 在我的路由器配置中然后它工作了!