如何将我的js文件导入到main/index.js预编译中,而不是编译后?

问题描述 投票:0回答:1
  • 我使用 Electron-vite 命令

    pnpm create @quick-start/electron
    初始化项目

  • 然后我在

    getAuthKey.js
    旁边的
    src/main/
    中创建一个js文件
    index.js

  • 最后我需要

    getAuthKey.js
    src/main/index.js
    ,像这样:

import { app, BrowserWindow, ipcMain, shell } from "electron";
import { join } from "path";
import { electronApp, is, optimizer } from "@electron-toolkit/utils";
import icon from '../../resources/icon.png?asset'

const getAuthKey = require("./getAuthKey");            <--------------here
const { execSync } = require("child_process");
const iconv = require("iconv-lite");
  • 然后我收到错误
App threw an error during load
Error: Cannot find module './getAuthKey.js'
  • 检查package.json,我发现了问题
{
  "name": "xxx",
  "version": "1.0.0",
  "description": "An Electron application with Vue",
  "main": "./out/main/index.js",                        <----------------here
  
  
  
}

  • 然后我将代码更改为
    const getAuthKey = require("../../src/main/getAuthKey");
  • 好的,代码运行,我知道require是
    out/main/index.js
    而不是预编译。
  • 但是我想要求我的js文件
    src/main/index.js
    ,我该怎么办?

我想要求我的js文件到

src
目录而不是
out
目录

electron electron-builder
1个回答
0
投票
  • 我修好了
  • 使用 ES 而不是 CommonJS 来导出并导入我的 js 文件。
  • 比如
export function getAuthKey() {}

import { getAuthKey } from './getAuthKey'

不是这样的

module.exports = { getAuthKey };

const {getAuthKey} = require('./getAuthKey');
© www.soinside.com 2019 - 2024. All rights reserved.