Vite构建使用需要吗?接收错误 require is not defined

问题描述 投票:0回答:0

我有一个使用 Vite 的应用程序(在 electron 上运行,使用 electron builder 和 vite 插件)并且我有一个单页应用程序并且构建/应用程序/等运行良好。但是,我需要向应用程序添加一个新页面,我遇到了以下问题。

但是我现在在运行应用程序时收到“require is not defined”错误。

我从这里按照文档构建多页应用程序:https://vitejs.dev/guide/build.html#multi-page-app

我的 vite.config.js 如下所示:

Vite config

我现在有两个 HTML 页面(index.html 和 project.html)。 vite 构建现在将 JS 包拆分为每个页面的两个 JS 文件。这是 project.html 的输出:

  <head>
<script id="shim-exports">var exports = typeof module !== 'undefined' ? module.exports : {};</script>
    <meta charset="UTF-8" />
    <meta name="color-scheme" content="dark">
    <link rel="icon" href="./favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Project</title>
    <link href="./assets/css/fontawesome.css" rel="stylesheet">
    <link href="./assets/css/brands.css" rel="stylesheet">
    <link href="./assets/css/solid.css" rel="stylesheet">
  
    <script type="module" crossorigin src="./project.813f02b1.js"></script>
    <link rel="modulepreload" crossorigin href="./index.5b8fa581.js">
    <link rel="stylesheet" href="./style.acc344b1.css">
  </head>

但是,vite 然后在“project.js”文件中添加了一个“require('/index.5b8fa581.js')”。在这里看到:

Where the build uses Require

当然,这会在我运行应用程序时生成“require is not defined”错误。在搜索和阅读了大量内容之后,我尝试为 CommonJS 添加汇总插件,认为这可能有帮助……没有帮助,因为我没有在我的任何 Vue 应用程序代码中使用任何“require”语句。但是,我认为它可能有助于 vite 构建将构建输出中包含的“require”语句转换为浏览器可以加载的内容。

我该如何解决这个问题?我发现 vite / rollup 构建会在构建输出中发出“require”语句这很奇怪(我必须以某种方式缺少 vite 的一些配置)。

vue.js requirejs vite electron-builder
© www.soinside.com 2019 - 2024. All rights reserved.