0

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

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

资产不是问题,它们存在于构建文件夹中。在需要它们时似乎是一个问题。

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

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

虽然我不认为它与电子有关,但又一次。我仍然把它放在 vite-electron-quick 上以排除这种可能性。

这是我的 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

系统信息

  • vite最新的:
  • 操作系统:Windows 10 2004
  • 节点版本:15.2.0
  • 包管理器 (npm) 和版本:7.0.8
4

1 回答 1

1

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

于 2021-04-10T15:17:40.677 回答