javascript - Electron Create React App 在构建后未加载

标签 javascript node.js reactjs build electron

我已经使用 npx create react app 创建了一个测试 react 项目并添加了 electron.js 文件。然后我运行构建脚本并成功编译,但是当我尝试运行 .exe 时没有任何显示并且控制台返回 Failed to load resource: net::ERR_FILE_NOT_FOUND

Electron .js

const { app, BrowserWindow } = require("electron");
const path = require("path");
const isDev = require("electron-is-dev");

function createWindow() {
  const mainWindow = new BrowserWindow({
    width: 1920,
    height: 1080,
    webPreferences: {
      preload: path.join(__dirname, "preload.js"),
    },
  });

  mainWindow.loadURL(
    isDev
      ? "http://localhost:3000"
      : `file://${path.join(__dirname, "../build/index.html")}`
  );

  mainWindow.webContents.openDevTools();
}

app.whenReady().then(() => {
  createWindow();

  app.on("activate", function () {
    if (BrowserWindow.getAllWindows().length === 0) createWindow();
  });
});

app.on("window-all-closed", function () {
  if (process.platform !== "darwin") app.quit();
});

编辑:所以我从头开始再次尝试并设法仅使用 create-react-app 进行构建,但是我现在已经使用 Routes 组件更改了一些文件,而在我构建它时开发工作正常,但没有任何显示。 console.log 已显示,但组件未显示。

路由.js

const routes = [
  {
    exact: true,
    path: "/",
    component: lazy(() => import("../test")),
  },
];

const renderRoutes = (routes) =>
  routes ? (
    <Suspense fallback={<div>Loading...</div>}>
      <Switch>
        {routes.map((route, i) => {
          const Layout = route.layout || Fragment;
          const Component = route.component;

          console.log({ Component });

          return (
            <Route
              key={i}
              path={route.path}
              exact
              render={(props) => (
                <Layout>
                  {route.routes ? (
                    renderRoutes(route.routes)
                  ) : (
                    <Component {...props} />
                  )}
                </Layout>
              )}
            />
          );
        })}
      </Switch>
    </Suspense>
  ) : null;

const Routes = () => {
  return renderRoutes(routes);
};

export default Routes;

最佳答案

问题可能在于您更改了其中一个主要文件的名称,例如 Electron 在构建时搜索特殊文件名。请检查您的文件名。

此错误表示找不到文件。路径错误或文件不在您想要的位置。

关于javascript - Electron Create React App 在构建后未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69451056/

相关文章:

javascript - 我如何在 PUG 模板引擎中显示对象?

javascript - 从 node.js 中的外部文件读取

javascript - 只有数字。在React中输入数字

javascript - 如何从 json 设置 HTML 选择选项

javascript - Vista Gadget - 写入 XML 文件

javascript - 使用 javascript 和 jQuery 添加表

Node.js 升级仍然在 Windows 中显示旧版本

javascript - 如何避免 React fetch API 替换 url

node.js - 错误 [ERR_HTTP_HEADERS_SENT] : Cannot remove headers after they are sent to the client

javascript - 理解 RegisterStartupScript : How often will the JavaScript code be called?